DRY와 코드 커플 링에 대한 지침을 찾고 있습니다. 코드를 복제하는 것을 좋아하지 않으며 관련없는 모듈 간의 코드 커플 링도 좋아하지 않습니다. 따라서 복제가 도입 된 후 1 년 동안 동일한 중복 코드를 찾으면 중복 코드를 리팩터링합니다. 그러나 실제 환경이 훨씬 더 예측하기 어려운 상황이 점점 더 많이 발생하고 있으며 코드를 리팩터링 한 후 코드를 다시 계산해야하는 상황이 발생합니다.
예를 들어, 휘발유 자동차, 휘발유 SUV, 전기 자동차 및 전기 SUV를 처리하는 코드가있는 경우 중복 된 코드를 "가솔린"계층 구조와 "전기"계층 구조로 다시 리팩토링했다고 가정합니다. 여태까지는 그런대로 잘됐다. 그런 다음 회사에서 하이브리드 자동차와 하이브리드 세미를 소개합니다. 원래 세미 계층 자체의 핵심 변경이 필요합니다. 아마도 휘발유와 전기 계층 구조 사이에 "구성"이 필요할 수 있습니다.
분명히 코드 복제는 위의 모든 제품에 공통적 인 변경을 구현하는 데 시간이 걸리기 때문에 나쁘다. 그러나 공통 코드를 리팩토링하면 제품 별 변형을 도입하기가 어려워지고 버그를 수정하기 위해 코드 줄을 찾아야 할 때 많은 "클래스 점핑"이 발생합니다. 상위 상위 클래스에서 한 번만 변경하면 모든 하위 항목에서 트리거 회귀 버그를 트리거합니다.
DRY와 원치 않는 코드 커플 링간에 최적의 균형을 유지하는 방법은 무엇입니까?