Code Smell
언제 리팩토링이 필요한지 정리한다.
Mysterious Name
함수, 모듈, 변수, 클래스 등은 이름만 봐도 무슨 일을 하고, 어떻게 사용해야하는지 명확히 알수 있어야한다.
이름만 잘 지어도, 문맥을 파악하는 시간을 줄일 수 있다.
Duplicated Code
코드가 중복되면, 볼 때마다 차이가 있는지 살펴봐야하는 부담이 있다.
만약 그 중 하나를 변경을 하게되면 다른 비슷한 코드들을 모두 살펴봐야한다.
Long Function
함수가 길 수록, 이해하기 어렵다.
짧은 함수를 읽는 사람 입장에서는 함수가 하는 일을 파악하기 위해 왔다 갔다 해야하는 비용이 든다.
하지만, 함수 이름을 잘 지어두면 본문 코드를 볼 이유가 없다.
적극적으로 함수를 쪼개고, 함수 이름은 동작 방식이 아니라 “의도” 가 드러나게 짓자.
Long Parameter List
매개 변수 목록이 길어지면, 이해하기 어려울 때가 많다.