막상 개발자가 되면 새 코드를 쓰는 시간보다 코드를 유지 보수하는 시간이 훨씬 길다. 그러므로 다음 두 가지를 익혀두면 좋다. 첫째, 코드를 적절히 유지 보수하는 방법을 알아야 한다. 둘째, 유지 보수하기 쉽게 코드를 작성하는 방법도 알아야 한다. | 당신은 코드를 유지 보수하는 데 대부분의 시간을 보내게 될 것이다 | 어떤 형태로든 코드 유지 보수 업무를 하게 될 것이다. 이 말인즉, 세상에는 새로운 소프트웨어 수보다 오래된 소프트웨어의 수가 항상 더 많을 것이라는 뜻이다. 소프트웨어 제푸믄 살아 숨 쉬는 유기체와 같다. 끊임없이 성장하고 바뀌며 천천히 죽어간다. | 훌륭한 개발자는 유지 보수하기 좋은 코드를 만든다 | 훌륭한 개발자는 유지 보수하기 아주 좋은 코드를 만든다. 그 이유는 다음과 같다. ..
소프트웨어 개발자가 되면 코드 디버깅에 아주 많은 시간을 들이게 될 것이다. 다행히 디버깅하는 기술도 다른 기술처럼 배우면 는다. 디버깅에 접근하는 태도가 무엇보다 중요하다는 걸 깨달아야 한다. | 디버깅이란 무엇인가? | 디버깅이란 코드 베이스에서 문제의 근원을 찾아서 그 문제를 일으킬 요인을 가려내고, 여러 가설을 시험해보는 과정을 토해 뿌리가 되는 진정한 원인을 찾고 그 원인을 제거한 후, 다시는 그 문제가 일어나지 않도록 하는 것이다. | 디버깅 첫 번째 규칙 : 디버거를 쓰지 마라 | 코드를 디버그할 문제가 생기면 프로그래머들은 늘 쓰는 디버거를 켜고 버그를 찾는데 돌입한다. 틀렸다. 디거거는 최후의 수단으로 남겨둬야 한다.(즉 디버거는 훌륭하고 강력한 도구지만 디버거부터 켜지 말라는 의미다. ..
소프트웨어를 빌드하고 이를 배포하기 위해 테스트하고 패키징하는 과정은 느리고 고통스럽고 따분한 데다 에러도 많이 난다. 그런데 지속적 통합은 이 과정을 자동화해주며 빠른 피드백을 제공한다. | 과거의 코드 빌드 방법 | 옛날에는 개발자로 일하다보면 소스 코드 사본을 얻어야 할 때도 있었다. 해당 소프트웨어를 지난 5년간 관리해온 구루가 보여주는 마법의 주문을 보아야만 주체적으로 일할 수 있었다(저자는 닭을 잡아서 원을 그리며 뒤로 걷고 별 모양 주변에 촛불을 밝힌 다음 단축기를 누르면 소프트웨어 완성본이 튀어나왔다라는 비유로 표현함..). 이런 식의 소프트웨어 개발 및 빌드 방법에는 몇 가지 큰 문제가 있었다. 개발자가 각기 다른 방식으로 소프트웨어를 빌드하면 같은 버전의 코드를 가지고 완전히 다른 소프..
소프트웨어 개발자가 된 지 얼마 지나지 않았을 무렵, 어떤 일을 통해 좋든 싫든 소스 제어에 익숙해지는 게 프로그래머로 일하는 데 꽤 중요할 거라는 사실을 깨달았다. | 소스 제어란 무엇인가? | 소스 제어는 버전 제어라고도 부르며 파일의 버전과 소프트웨어 프로젝트 소스코드를 추적하는 방법을 가리킨다. 여러 개발자가 똑같은 파일을 가지고 작업할 때 이를 조율하는 역할을 한다. 소스 제어의 목표는 단 하나다. 바로 소프트웨어 개발 프로젝트의 소스 코드를 잘 관리할 수 있게 도와주는 것이다. | 소스 제어가 중요한 이유는 무엇인가? | 소스 제어 시스템을 사용하면 코드를 '분실'할 가능성이 크게 낮아진다. 소스 제어를 쓰면 여러 개발자가 한 코드 베이스에 있는 여러 파링에서 함께 작업할 수 있다. 좋은 소스..