코드란 무엇인가. 기계가 실행하는 상세하게 요구사항을 명시하는 작업의 결과물이다. 앞으로 특정 응용 분야에 적합한 (추상화 수준이 높아진) 프로그래밍 언어 수가 점차 늘어날 것이다.
나쁜 코드
출시에 바빠 코드를 마구 짜다보면, 엉망이 되어가는 코드를 마주한다. 기능을 추가할수록 코드는 엉망이된다. 나쁜 코드는 개발 속도를 크게 떨어뜨린다.
<aside> 💡 나쁜 코드의 위험을 이해하지 못 하는 관리자 말을 그대로 따르는 행동은 프로그래머답지 못하다
</aside>
‘깨끗한 코드’는 어떻게 작성하는가?
깨끗한 코드와 나쁜 코드를 구분할 줄 안다고 깨끗한 코드를 작성할 줄 아는 것은 아니다. 열쇠는 ‘코드 감각’이다. 코드 감각이 있는 프로그래머는 나쁜 모듈을 보면 좋은 모듈로 개선할 방안을 떠올린다.
<aside> 💡 깨끗한 코드 : 우아하고 효율적인 코드. 논리가 간단해야 버그가 숨어들지 못 한다. 의존성을 최대한 줄여야 유지보수가 쉬워진다. 오류는 명백한 전략에 의거해 철저히 처리한다. -비야네 스트롭스트룹(C++창시자)-
</aside>
메모리 누수, 레이스 컨디션, 일관성 없는 명명법 등 세세한 사항까지 꼼꼼하게 처리하는 코드가 깨끗한 코드다.
<aside> 💡 *깨끗한 코드는 단순하고 직접적이다. 깨끗한 코드는 잘 쓴 문장처럼 읽힌다. 깨끗한 코드는 결코 설계자의 의도를 숨기지 않는다. 오히려 명쾌한 추상화와 단순한 제어문으로 가득하다
</aside>
깨끗한 코드는
1 세세항 사항들을 꼼꼼하게 처리하며
2 ‘가독성’이 있고
3 누가 와도 고치기 쉽고
4 테스트 케이스가 존재하는 코드다.