저는 "좋은 디자인", "디자인 패턴"등에 관한 다른 책을 읽는 데 많은 시간을 보냈습니다. 저는 SOLID 접근 방식 의 큰 팬이며 간단한 코드를 작성해야 할 때마다 미래. 따라서 새로운 기능이나 버그 수정을 구현하려면 다음과 같이 세 줄의 코드 만 추가하면됩니다.
if(xxx) {
doSomething();
}
내가 이런 식으로하겠다는 의미는 아닙니다. 가장 가까운 미래에이 코드 조각이 커질 것 같으면 추상화를 추가하고이 기능을 다른 곳으로 옮기는 등의 방법을 생각할 것입니다. 내가 추구하는 목표는 평균 복잡도를 변경하기 전과 동일 하게 유지하는 것입니다 .
나는 코드 관점에서 볼 때 아주 좋은 생각이라고 생각합니다. 내 코드는 충분히 길지 않으며 클래스, 메소드 및 클래스와 객체 간의 관계와 같은 다른 엔티티의 의미를 이해하는 것은 쉽습니다.
문제는 너무 많은 시간이 걸리고 종종 "있는 그대로"그 기능을 구현하면 더 나아질 것입니다. "세 줄의 코드"대 "새로운 인터페이스 + 해당 인터페이스를 구현하는 두 개의 클래스"에 불과합니다.
제품 관점에서 ( 결과 에 대해 이야기 할 때 ), 내가하는 일은 매우 의미가 없습니다. 다음 버전에서 작업 할 경우 좋은 코드를 갖는 것이 정말 좋습니다. 그러나 다른 한편으로, 코드를 "좋은"것으로 만드는 데 소비 한 시간은 몇 가지 유용한 기능을 구현하는 데 소비되었을 수 있습니다.
나는 종종 내 결과에 매우 만족하지 않는다고 생각합니다. A 만 할 수있는 좋은 코드는 A, B, C 및 D를 할 수있는 나쁜 코드보다 나쁩니다.
이 접근법이 소프트웨어 프로젝트에 긍정적 인 순이익을 가져다 줄까, 아니면 시간 낭비인가?