나는 다소 큰 코드 기반으로 작업합니다. 수백 개의 클래스, 수많은 다른 파일, 많은 기능, 새로운 사본을 풀다운하는 데 15 분 이상이 소요됩니다.
이러한 큰 코드 기반의 큰 문제는 상당히 많은 유틸리티 메소드가 있고 동일한 기능을 수행하거나 가능한 경우 이러한 유틸리티 메소드를 사용하지 않는 코드가 있다는 것입니다. 또한 유틸리티 메소드는 모두 한 클래스에있는 것이 아닙니다 (왜냐하면 엄청나게 혼란 스러울 수 있기 때문입니다).
저는 코드 기반에 익숙하지 않지만 수년 동안 코드를 개발해온 팀장도 같은 문제를 겪고 있습니다. 많은 코드와 작업 중복으로 이어 지므로 무언가가 깨지면 기본적으로 동일한 코드의 4 복사본으로 나뉩니다.
이 패턴을 어떻게 억제 할 수 있습니까? 대부분의 대규모 프로젝트와 마찬가지로 모든 코드가 문서화되어 있지는 않지만 모든 코드가 문서화되어 있지는 않습니다. 그러나 기본적으로 우리가 이와 관련하여 품질을 향상시킬 수 있다면 앞으로 코드 중복이 적고 유틸리티 기능과 같은 것들을 쉽게 발견 할 수 있다면 정말 좋을 것입니다.
또한 유틸리티 함수는 일반적으로 일부 정적 도우미 클래스, 단일 객체에서 작동하는 비 정적 도우미 클래스 또는 주로 "도움이되는"클래스의 정적 메서드입니다.
유틸리티 함수를 확장 메소드로 추가하는 한 가지 실험이 있습니다 (클래스 내부는 필요하지 않으며 매우 구체적인 시나리오에서만 필요했습니다). 이것은 기본 클래스 등을 혼란스럽게 만드는 효과가 있었지만 이미 알고 있지 않으면 더 이상 발견 할 수 없습니다.