기계가 실행할 정도로 상세하게 요구사항을 명시하는 작업이 프로그래밍이고,
이렇게 명시한 결과가 바로 코드이다.
따라서 코드가 사라질 가망은 전혀 없다!
궁극적으로 코드는 요구사항을 표현하는 언어이기 때문이다.
어느 수준에 이르면 코드의 도움 없이 요구사항을 상세하게 표현하는 것은 불가능하다.
가지각색의 이유로 누구나 대충 프로그램을 짠 경험이 있다.
대충 짰어도 프로그램이 돌아간다는 사실에 안도감을 느끼곤 하는데.
다시 돌아와 나중에 정리하겠다고 다짐하곤 한다.
하지만 나중은 결코 오지 않는다.
나쁜 코드는 결국 나쁜 코드를 더 많이 양산한다.
이에 따라 개발 속도를 크게 떨어뜨려 생산성은 점점 0에 수렴한다.
좋은 코드를 사수하는 일은 바로 우리 프로그래머들의 책임이다.
나쁜 코드의 위험을 이해하지 못하는 관리자 말을 그대로 따르는 행동은 전문가답지 못하다.
기한을 맞추기 위해, 빨리 가기 위해 시간을 들이지 않는다.
하지만 기한을 맞추는 유일한 방법은 코드를 최대한 깨끗하게 유지하는 습관이다.
- '보기에 즐거운' 코드
- 세세한 사항까지 꼼꼼하게 처리하는 코드
- 오류 처리, 메모리 누수, 경쟁 상태, 일관성 없는 명명법 등- 한 가지에 '집중'하는 코드
- 함수, 클래스, 모듈의 의도가 뒤섞이거나 목적이 흐려지지 않도록- 사실에 기반하여 반드시 필요한 내용만 담은 코드
- 다른 사람이 고치기 쉬운 코드
- '주의 깊게' 작성한 코드
- 누군가 시간을 들여 깔끔하고 단정하게 정리한 코드- 한 가지 기능만을 수행하고, 중복을 줄이고, 제대로 표현하고, 작게 추상화한 코드
캠프장은 처음 왔을 때보다 더 깨끗하게 해놓고 떠나라
예술에 대한 책을 읽는다고 예술가가 되라는 보장이 없듯이
이 책을 읽는다고 뛰어난 프로그래머가 된다는 보장은 없다.
뛰어난 프로그래머가 생각하는 방식과 그들이 사용하는 기술과 기교와 도구에 대한 소개만 있을뿐
나머지는 나에게 달렸다! 연습하자!