1. 한 단위의 코드는
- 15줄 이내로
- 책임을 하나로! (하는 일이 하나뿐인 코드는 테스트하기 쉽다)
<리팩터링 기법>
1. 메서드 추출
- 하나로 묶여있는 각 기능들을 각각의 메서드로 추출해 15줄 이내의 코드로 바꾼다.
2. 메서드를 메서드 객체로 대체
--> 이렇게 단위를 나누는 이유는?
: 재사용이 쉽기 때문 / 가독성이 높다.
3. 분기점 개수는 4개로 제한한다.
- if / case / ? / &, | / while / for / catch 등
※맥캐브(순환) 복잡도
분기점 개수가 n이면 실행 단계는 n+1개이다.
만약 분기점이 0이라면 실행 흐름은 단 하나밖에 없으므로 1이 된다.
확장성이냐 간결함이냐 선택은 개발자의 몫
4. 컴퓨터가 이해할 수 있는 코드는 바보라도 짤 수 있다. 유능한 프로그래머는 인간이 이해할 수 있는 코드를 짠다. - 마틴 파울러
5. 악취 퍼레이드의 하이라이트는 중복 코드다.
- 켄트 벡, 마틴 파울러