•
프로그래머가 배워야 하는 가장 중요한 기술은 코딩을 언제해야 하는지 아는 것이다.
◦
우리가 작성하는 코드는 모두 테스트하고 유지보수해야 한다.
•
가장 읽기 쉬운 코드는 읽을 것이 없는 코드다.
그 기능을 구현하려고 애쓰지 마라 - 그럴 필요가 없다.
•
구현에 초점을 맞추지 말자. 코드는 구현으로 끝나지 않는다.
•
유지보수되어야 하며 문서를 만들고 관리하며 나중엔 리팩토링해야 한다. 비용이 많이 드는 작업이다.
요구사항에 질문을 던지고 질문을 잘게 나누어 분석하라
•
주어진 요구사항을 잘 분석한다면 적은 코드로도 구현할 수 있게끔 문제를 정의할 수 있다.
•
너무 과하게 생각하지 말라는 뜻이다. 실행될 환경, 요구사항을 적절히 고려해서 과하게 자원을 낭비하지 않도록 하자.
•
요구사항을 가지치기하는 것과 간단한 문제를 해결하는 것이 주는 이점은 매우 중요하다.
코드베이스를 작게 유지하기
•
생산성을 유지하는 좋은 방법 중 하나는 코드베이스를 작게 유지하는 것이다.
•
코드의 양이 많아질수록 복잡도가 올라가고 코드 간의 의존성이 높아지므로 생산성이 낮아질 수 밖에 없다.
◦
일반적인 유틸리티를 많이 만들어 중복된 코드를 제거하라.
◦
사용하지 않는 코드 혹은 필요없는 기능을 제거하라.
◦
프로젝트가 서로 분절된 하위프로젝트로 구성되게 하라.
◦
코드베이스의 무게를 항상 의식하여 가볍고 날렵하게 유지시켜라.
자기 주변에 있는 라이브러리에 친숙해져라
•
프로그래머는 해결해야하는 문제를 이미 라이브러리에서 해결해두었을 것을 종종 잊어버리고는 한다.
•
매일 15분씩 표준 라이브러리에 있는 모든 함수/모듈/형들의 이름을 읽어라.
•
바퀴를 재발명할 필요없이 간단하고도 다른 사람들도 이해하기 쉽게끔 코드를 짤 수 있게 도와줄 것이다.
요약
•
이 장에서는 가급적이면 작은 코드로 작성하는 방법을 배웠다.
•
새로 작성하는 코드는 모두 테스트하고 문서화하고 유지보수해야한다. 코드를 작성하는 것만으로 끝이 아니다.
•
더욱이 코드베이스에 코드가 많아진다면 더 무거워져 생산성이 저하된다.
•
다음과 같은 방법으로 새로운 코드를 작성하는 일을 피할 수 있다.
◦
제품에 꼭 필요하지 않는 기능을 제거하고 과도한 작업을 피한다.
◦
요구사항을 다시 생각해서 가장 단순한 형태의 문제를 찾아본다.
◦
주기적으로 라이브러리 전체 API를 훑어봄으로써 표준 라이브러리에 친숙해진다.