주석이나 변수를 추가하는 방법보다 유틸리티 메서드를 이용할 때 몇 가지 장점이 있습니다.
첫째, 코드가 무엇을 하는지 이름만으로 설명할 수 있으니 메서드에서 주석을 제거할 수 있습니다. 변수 이름에서 얻을 수 있는 장점과 같죠. 하지만 그것이 전부가 아닙니다.
둘째, 첫 번째 메서드에 줄을 추가하지 않아도 됩니다. 대신 메서드가 두 개로 늘었죠. 각 메서드가 더 짧아지니 각각 이해하기 더 쉽습니다.
셋째, 다른 메서드에서 새 메서드를 재사용할 수 있습니다. 지금 당장은 쓰일 일이 없더라도 이러한 식으로 코드를 조금씩 모듈화하게 됩니다.
넷째, 메서드에 계층 구조가 생겼습니다. 최상위 메서드 getAverageTankFillingPercent()는 하위 메서드 roundToIntegerPercent()를 호출합니다. 이로써 상위 계층 메서드의 이해도가 개선됩니다.
이상적으로 각 메서드는 비슷한 추상화 정도를 갖는, 명명된 명령문의 나열입니다. 이러한 맥락에서 평균을 계산하는 코드도 새로운 유틸리티 메서드로 추출할 수 있습니다. 그러면 들여쓰기 수준이 같은 메서드 세 개가 생기겠죠.
정리해보면 3.4 주석을 유틸리티 메서드로 대체함으로써 텍스트 줄만 제거되는 것이 아니라 코드가 더 모듈화되고 추상화 수준도 균형을 이룹니다.