3.5.4 리팩토링 제안
이런 악취를 해소하는 일반적인 리팩토링 제안은 다음을 포함한다.
• 파울러가 제안했듯이[7] “지불한 비용만큼 충분히 동작하지 않는 클래스는 제거해야 한다.”
• 클래스를 다른 클래스와 병합하는 ‘인라인 클래스’ 리팩토링[7] 을 적용하자.
• 상수를 인코딩하려고 클래스나 인터페이스를 도입 중이라면, 이것을 대신하여 열거형 등 대안으로 더 적절한 언어 기능을 사용할 수 있는지 점검하자.
예제 1을 위한 리팩토링 제안
FormattableFlags를 열거형으로 만들고, 형식화된 출력을 지원하는 java.util.Formatter 클래스와 함께 이를 사용하는 리팩토링 방식을 제안한다.