이번 장에서 다룰 내용
- 다섯 줄 제한으로 지나치게 긴 메서드 식별하기
- 세부 사항을 보지 않고 코드 작업하기
- 메서드 추출(Extract Method)로 긴 메서드 분해하기
- 추상화 수준 맞추기
- 함수의 내용은 동일한 추상화 수준에 있어야 한다.
- 호출 또는 전달, 한 가지만 할 것
- if문 분리하기
DRY (Don’t Repeat Yourself)
똑같은 일을 두 번 하지 말것
KISS (Keep It SImple, Stupid)
단순함을 지킬 것
혼란의 주 원인
- 메서드가 여러 가지 다른 일을 수행한다.
- 낮은 수준의 원시 연산을 사용한다.
- 주석과 적절한 메서드와 변수명 같이 사람이 읽을 수 있는 텍스트가 부족하다.
좋은 함수 이름의 속성
- 정직해야 한다.
- 완전해야 한다.
- 도메인에서 일하는 사람이 이해할 수 있어야 한다.
- 작업중인 도메인에서 사용하는 단어를 사용해야 한다.
if문은 함수의 시작에만 배치하기
- 함수는 한 가지 일만 해야한다.
- if를 사용해 조건을 확인하는 경우, 한 가지 작업만 수행하므로 다른 작업을 수행하지 못하게 한다.
요약
- 다섯 줄 제한 규칙
- 메서드 추출을 사용해서 긴 메서드를 분해한다.
- 메서드 이름으로 주석을 대신한다.
- 호출 또는 전달, 한 가지만 할 것
- 메서드 이름은 투명하고 완전해야 하며 이해할 수 있어야 한다.
- if 문은 함수의 시작에만 배치!