더북(TheBook)

3.4.2 잠재적인 원인

범용 추상화

설계자가 일반적인 이름(예 : Node, Component, Element, Item)으로 추상화를 도입하면 이것은 필연적으로 추상화에는 속하지 않지만 해당된 추상화와 관련된 모든 기능을 제공하는 견본용 틀이 된다. 따라서 범용적인 추상화는 종종 이런 악취를 드러낸다.

 

주기적인 리팩토링이 없는 진화

클래스가 리팩토링 없이 오랜 기간 광범위한 변화를 경험하면 다른 책임들도 이 클래스에 도입하기 시작하며, 설계 부패가 진행된다. 이런 식으로 리팩토링을 방치하면 여러 책임을 드러내는 한 덩어리로 뭉친 괴물을 생성하게 된다.

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