1장 : 깨끗한 코드
나쁜 코드의 댓가
- 나쁜 코드가 쌓일 수록 업무 속도가 늦어져 생산성이 떨어진다.
- 코드를 깨끗하게 유지할 수록 기한을 맞출 확률이 높아진다.
깨끗한 코드 조건
- 한 가지에 집중한다.
- 메서드가 여러 기능을 수행한다면 메서드 추출 리펙터링 기법으로 메서드 여러개로 나눈다.
- 작성자가 아닌 사람도 읽고 고치기 쉽다.
- 세세한 사항까지 주의를 기울인 코드이다.
- 읽으면서 짐작한 대로 돌아가는 코드이다.
2장 : 의미있는 이름
의미있는 이름을 사용할 경우 함수가 하는 일을 이해하기 쉬워진다.
의미있게 구분하라
- 읽는 사람이 차이를 알 수 있는 이름을 지어야 한다.
accountData와 account는 차이를 알 수 없다
발음하기 쉬운 이름을 사용하라
- 팀원과 변수명에 대해 회의를 할 때 지적인 대화가 가능해진다.
검색하기 쉬운 이름을 사용하라
- 상수나 가장 많이 쓰이는 문자인 e를 사용할 경우 검색하기 어렵다.
- 변수나 상수를 코드 여러 곳에서 사용한다면 검색하기 쉬운 이름이 바람직하다.
인코딩을 피하라
자신의 기억력을 자랑하지 마라
- 일반적으로 문제나 해법 영역에서 사용하는 이름을 선택해야 한다.
클래스 이름
메서드 이름
기발한 이름은 피하라
- 재미보다는 의도가 분명하고 명확한 명료한 이름이 좋다.
한 개념에 한 단어를 사용하라
- 추상적인 개념 하나에 한 단어를 사용
- ex ) fetch, get, retrieve
- 어휘를 일관성있게 사용하라
의미있는 맥락을 추가하라
firstName, lastName, street, city, state, zipcode
해당 단어들을 보면 떠오르는 맥락이 무엇인가?
바로 주소이다,.
이와 같이 맥락을 파악할 수 있도록 변수명을 적용하라
불필요한 맥락은 없애라
- 만약에 고급휘발유 충전소(Gas Station Deluxe)의 애플리케이션을 짜기 위해 내부 주소 테이블이 필요했을 경우, 굳이 GSDAddress라고 이름을 붙일 필요는 없다.
- 의미가 분명히 드러나는 경우에는 굳이 불필요한 맥락을 추가할 필요는 없다. 긴 이름보다는 짧은 이름이 좋기 때문이다.