메서드명을 봐도 기능을 알 수 없을땐 메서드를 직관적인 이름으로 바꾸자
동기
- 복잡한 메서드를 잘게 쪼개는 것은 중요하지만, 이를 잘못 적용하면 오히려 그 작은 메서드들의 역할을 파악하기 힘들어질 수도 있다
- 이러한 문제를 방지하려면 메서드명을 잘 지어야 한다
- 메서드명만 봐도 그 메서드의 의도를 한눈에 알 수 있어야 한다
- 메서드명이 적절치 않다면 반드시 변경해야 한다
- 코드는 컴퓨터보다 인간이 알아보기 쉽게 작성해야 한다
- 이름을 잘 짓게 되는 것이야말로 진정으로 노련한 프로그래머가 되는 열쇠다
- 매개변수를 재정렬해서 코드를 알아보기 쉬워진다면 매개변수 재정렬을 실시해야한다
방법
- 메서드 시그니쳐가 상위클래스나 하위클래스에 선언되어 있는지 검사한다
- 구현되어 있다면 이 과정을 모든 구현부마다 실행한다
- 새 이름으로 메서드를 선언하고, 원본 코드를 복사한 뒤 적절히 수정한다
- 새 메서드를 호출하게 원본 메서드의 내용을 수정한다
- 원본 메서드 호출 부분을 전부 찾아서 새 메서드 호출로 바꾼다
- 원본 메서드를 삭제한다
- 원본 메서드의 모든 호출 부분에 접근할 수 없다면
@Deprecated
로 표시한다
- 원본 메서드의 모든 호출 부분에 접근할 수 없다면
요즘 IDE에서는 2~5번이 필요없이 매우 간단히 수행할 수 있다
인텔리제이 짱짱
참고 : 마틴 파울러, 『리팩토링』, 김지원 옮김, 한빛미디어(2012)