코드는 다양한 방법으로 부패하며,
* 누가 그 코드를 작성했는가
* 다른 팀으로부터 가져온 코드인지
여부와는 무관하다.
- 테스트 루틴이 없는 코드
- 여기저기 얽힌 난해한 구조 때문에 제대로 이해하지 못하면서도 수정해야만 하는 코드
- 겉보기에는 쉬워 보였던 기능을 추가하느라 며칠 밤을 지샌 추억
- 더 이상 어떻게 할 수 없는 코드에 질려서 무력감에 빠진 모습
- 깨끗한 코드만으로는 충분하지 않다.
깔끔한 코드
깨끗한 코드베이스 적절한 구조화
현실 세계에 깨끗한 코드로 작업중인 팀이 있다면
그팀은 아웃라이어에 해당한다. 대규모 수정작업을 지원하는 테스트 루틴이 없다면, 아무리 깨끗한 코드라도 작업하는 데 비용이 더 든다는 것이다.
- 코드를 이해하고
- 테스트 루틴을 사용하며
- 리팩토링을 수행하고
- 기능을 추가하는
기법들과 그 배경
- 훌륭한 코드에 대한 책이 아니며,
- 훌륭한 설계를 다루는 책도 아니다.
환자는 마라톤 선수가 되지 못하겠지만,
마라톤 선수라는 이상을 위해
건강 회복이라는 현실을 희생해서는 안된다.