관련 클래스 및 인터페이스의 이름 지정


9

데이터 소스로 데이터를 ObjectParser사용하여 데이터를 강력한 형식의 개체로 구문 분석 하는 클래스를 만들었습니다 IObjectParserDataSource(데이터는 Excel 파일, 텍스트 파일, 배열, 쿼리 문자열 등일 수 있음).

구현의 예 IObjectParserDataSource는 다음 과 같습니다.

  • TextFileObjectParserDataSource
  • ExcelFileObjectParserDataSource

이 수업 이름은 정말 길고 복잡합니다.

나는 그들을 지명 할 수 있었다 :

  • TextFileDataSource
  • ExcelFileDataSource

그러나 이것은 어느 정도의 모호성을 나타내며 IObjectParserDataSource언뜻보기에 명확하게 관련되지 않았습니다 . 이러한 데이터 소스를 정의하면 클라이언트 코드에서 발생하므로 혼란과 불확실성을 최소화하고 싶습니다.

그러한 시나리오에서 이러한 클래스의 이름을 어떻게 지정 하시겠습니까?


1
나는 당신의 현재 이름이 너무 길고 복잡하다고 생각하지 않습니다.
AakashM

이 아이디어를 버리고 있지만 권장하지는 않습니다. 이름 지정에 동일한 문자열 (예 : "ObjectParserDataSource")을 많이 사용하는 경우 약어를 사용하십시오. ExcelFileOPDS, TextFileOPDS. 타이핑과 화면 공간을 약간 절약하지만 코드에 익숙하지 않은 사람에게는 불투명합니다.
Bobson

답변:


22

나는 일반적으로 모든 유사한 객체를 하나의 네임 스페이스에 붙이고 이름을 단순화 하여이 문제를 해결하려고합니다 (가능한 경우).

예를 들어

네임 스페이스 ObjectParserDataSources
|
|-> 클래스 TextFileSource
|-> 클래스 ExcelFileSource

또는 작업 / 서비스 작업하는 개체 컬렉션 ObjectParser이 충분히 커지면 ObjectParser 전용의 별도의 폴더 트리 또는 프로젝트를 만듭니다.

namespace ObjectParser
|
|-> class ObjectParser
|-> interface IObjectParserDataSource
|
|-> namespace DataSources
|   |
|   |-> class TextFileSource
|   |-> class ExcelFileSource
|
|-> other stuff...

특정 파일 내에서 import 문 및 코드 컨텍스트는 일반적으로 꽤 분명 할 것이다 TextFileSource는 IS ObjectParser데이터 소스. 동일한 코드에 비슷한 이름의 클래스가 여러 개 있으면 TextFileSource전체 이름으로 참조 할 수 있습니다 .

var parserSource = new ObjectParser.DataSources.TextFileSource(/*...*/);

일반적으로 매우 드물게 발생하며 몇 단어를 더 입력해도 괜찮습니다.


1
당신은 : 그 같은 대답에서 나에게 입력의 시간을 절약
마이클 브라운에게

1
+1. 이 솔루션은 명확성을 줄이지 않고 가독성을 향상시킵니다.
John Cartwright
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.