어색하고 공개적인 질문이지만 항상 부딪 치는 문제입니다.
유지 관리 및 작업이 쉬운 소프트웨어는 잘 설계된 소프트웨어입니다. 직관적 인 디자인을 시도한다는 것은 다음 개발자가 구성 요소의 기능을 유추 할 수 있도록 구성 요소의 이름을 지정하는 것을 의미합니다. 이런 이유로 우리는 클래스 이름을 "Type1", "Type2"등으로 지정하지 않습니다.
실제 개념 (예 : 고객)을 모델링 할 때는 일반적으로 실제 개념을 모델링 한 후 유형을 명명하는 것만 큼 간단합니다. 그러나보다 시스템 지향적 인 추상적 인 것들을 만들 때, 읽기 쉽고 소화하기 쉬운 이름을 사용하기가 매우 쉽습니다.
구성 요소의 기능을 설명하지만 작동 방식을 설명하지 않는 기본 유형 또는 인터페이스를 사용하여 유형 패밀리의 이름을 지정하려고하면 나에게 더 나빠집니다. 이 자연스럽게 구현 (예를 들면 맛을 설명하려고 각 파생 유형 리드 IDataConnection
와 SqlConnection
닷넷 프레임 워크를),하지만 어떻게 당신이 "반사와 속성의 특정 세트를 찾고 작품"와 같은 복잡한 무언가를 표현합니까?
그런 다음 마지막으로 수행하려는 작업을 설명하는 유형의 이름을 선택하면 동료가 "WTF가 DomainSecurityMetadataProvider
실제로 수행합니까? "라고 묻습니다.
구성 요소의 의미있는 이름을 선택하는 데 유용한 기술이 있습니까?
이름이 "좋은"것인지 더 잘 느끼고 다른 사람에게 더 직관적이어야하는지 이름에 적용 할 수있는 간단한 테스트가 있습니까?