작게 만들어라!
- 최대한 작게 만들어라
- 블록 문(if, else, while 등)
- 한 줄이어야 한다!
- 즉 블록 내에서 함수를 호출한다는 뜻!
- 함수의 들여쓰기
한 가지만 해라!
- 여기서 한 가지라는 것은 추상화 수준이 하나라는 것을 의미한다.
- 의미 있는 이름으로 다른 함수를 추출할 수 있다면 그 함수는 여러 작업을 하는 것
- 높은 추상화 예시
- 중간 추상화 예시
String pagePathName = PathParser.render(pagepath);
- 낮은 추상화 예시
내려가기 규칙
- 코드는 위에서 아래로 이야기처럼 읽히면 좋음.
- 하나의 함수를 읽고 그 함수 안으로 들어가면 추상화가 한 단계 낮은 코드가 나와야 한다.
Switch 문
- 다형성을 사용하면 switch 문을 반복할 필요가 없다.
- Switch 문은 SRP를 위반한다.
- switch 확인 대상을 변경(추가 등)하면, 해당 대상을 switch문을 통해 활용하는 코드 전부 바꿔야 하기 때문.
- 추상 팩토리를 통해 switch문을 단 한번만 사용할 수 있다.
서술적인 이름을 사용하라