프로젝트의 기존 모듈을 확장해야합니다. 나는 그 방식이 마음에 들지 않습니다 (복사 / 붙여 넣기 코드와 같은 많은 안티 패턴 관련). 여러 가지 이유로 완전한 리팩터링을 수행하고 싶지 않습니다.
내가해야합니까 :
- 기존 관리자가 잘못 생각하더라도 다음 관리자에게 혼란을주지 않고 코드베이스와 일관성을 유지하기 위해 기존 규칙을 사용하여 새로운 메소드를 작성합니까?
또는
- 코드에 다른 패턴을 도입하더라도 기분이 좋은 것을 사용하려고합니까?
첫 번째 답변 후 Precison이 편집되었습니다.
기존 코드는 엉망이 아닙니다. 따르고 이해하기 쉽습니다. 그러나 좋은 디자인으로 피할 수있는 많은 상용구 코드를 도입하고 있습니다 (결과 코드는 따르기가 어려워 질 수 있습니다). 내 현재의 경우 좋은 오래된 JDBC (스프링 템플릿 내장) DAO 모듈이지만 이미이 딜레마에 빠졌고 다른 개발자 피드백을 찾고 있습니다.
시간이 없어 리팩토링하고 싶지 않습니다. 그리고 시간이 지나도 완벽하게 작동하는 모듈 전체에 리팩토링이 필요하다는 것을 정당화하기는 어렵습니다. 리팩토링 비용은 그 이점보다 더 클 것입니다. 기억하십시오 : 코드는 지저분하거나 복잡하지 않습니다. 나는 거기에 몇 가지 메소드를 추출 할 수 없으며 여기에 추상 클래스를 소개합니다. 디자인에 결함이 있습니다 (극단적 인 'Keep It Stupid Simple'의 결과라고 생각합니다)
따라서 질문은 다음과 같이 질문 할 수도 있습니다.
개발자는 어리석은 지루한 코드를 유지하거나 어리석은 지루한 코드를 수행 할 도우미를 원하십니까?
마지막 가능성의 단점은 몇 가지 내용을 배우고 전체 리팩토링이 완료 될 때까지 쉬운 바보 지루한 코드를 유지해야 할 수도 있다는 것입니다)