반응형
뒤엉킨 변경(Divergent Change)은 하나의 클래스나 모듈이 너무 많은 변화를 겪는 상황을 말합니다.
클래스가 어떤 변경 사항이 있을 때마다 여러 부분에서 수정이 일어나야 한다면, 그 클래스는 뒤엉킨 변경에 빠져 있다고 볼 수 있습니다.
뒤엉킨 변경은 소프트웨어의 유지보수성을 저해하는 요인 중 하나입니다.
한 클래스나 모듈이 변경될 때마다 여러 곳에서 수정이 필요하다면, 그 코드의 수정 작업이 복잡해지고 오류가 발생하기 쉬워집니다.
이는 코드를 이해하기 어렵게 만들어 개발자의 생산성을 저해합니다.
뒤엉킨 변경을 해결하기 위해서는 단일 책임 원칙(Single Responsibility Principle)을 적용하여 각 클래스나 모듈이 하나의 책임을 가지도록 설계해야 합니다.
또한, 추상화를 적극적으로 사용하여 변경사항이 필요한 부분을 최소화하고, 인터페이스를 명확히 정의하여 다른 모듈과의 결합도를 최소화해야 합니다.
이러한 방법을 사용하면, 뒤엉킨 변경을 방지하고 유지보수성을 높일 수 있습니다.
적용 가능한 리팩터링 기법
- 단계 쪼개기 (Split Phase)
- 함수 옮기기 (Move Function)
- 함수 추출하기 (Extract Function)
- 클래스 추출하기 (Extract Class)
'리팩터링 > 냄새 (리팩터링할 시점)' 카테고리의 다른 글
냄새 9. 기능 편애(Feature Envy) (0) | 2023.03.29 |
---|---|
냄새 8. 산탄총 수술(Shotgun Surgery) (0) | 2023.03.21 |
냄새 6. 가변 데이터 (Mutable Data) (0) | 2023.03.06 |
냄새 5. 전역 데이터 (Global Data) (0) | 2023.03.04 |
냄새 4. 긴 매개 변수 목록 (Long Parameter List) (0) | 2023.02.24 |