더북(TheBook)

3.5.4 리팩토링 제안

이런 악취를 해소하는 일반적인 리팩토링 제안은 다음을 포함한다.

 

파울러가 제안했듯이[7] “지불한 비용만큼 충분히 동작하지 않는 클래스는 제거해야 한다.”

클래스를 다른 클래스와 병합하는 ‘인라인 클래스’ 리팩토링[7] 을 적용하자.

상수를 인코딩하려고 클래스나 인터페이스를 도입 중이라면, 이것을 대신하여 열거형 등 대안으로 더 적절한 언어 기능을 사용할 수 있는지 점검하자.

 

예제 1을 위한 리팩토링 제안

FormattableFlags를 열거형으로 만들고, 형식화된 출력을 지원하는 java.util.Formatter 클래스와 함께 이를 사용하는 리팩토링 방식을 제안한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.