CA1710: 식별자에는 올바른 접미사를 사용해야 합니다.
TypeName |
IdentifiersShouldHaveCorrectSuffix |
CheckId |
CA1710 |
범주 |
Microsoft.Naming |
변경 수준 |
주요 변경 |
원인
식별자에 올바른 접미사가 없습니다.
규칙 설명
규칙에 따라 특정 기본 형식을 확장하거나 특정 인터페이스를 구현하는 형식 또는 이들 형식에서 파생되는 형식은 이름에 기본 형식이나 인터페이스와 연관된 접미사를 갖습니다.
명명 규칙은 공용 언어 런타임을 대상으로 하는 라이브러리에 공통적인 모양을 적용합니다. 이 라이브러리는 관리 코드 개발에 대한 전문 지식을 가진 사람에 의해 개발되었으므로 새 소프트웨어 라이브러리에 익숙해지는 데 필요한 학습 기간을 단축하고 고객의 신뢰를 높여 줍니다.
다음 표에서는 연관된 접미사가 있는 기본 형식과 인터페이스를 나열합니다.
기본 형식/인터페이스 |
접미사 |
---|---|
특성 |
|
EventArgs |
|
Exception |
|
Collection |
|
Dictionary의 비교 |
|
Collection |
|
Collection 또는 Queue |
|
Collection 또는 Stack |
|
Collection |
|
Dictionary의 비교 |
|
DataSet |
|
Collection 또는 DataTable |
|
스트림 |
|
권한 |
|
Condition |
|
이벤트 처리기 대리자 |
EventHandler |
ICollection을 구현하는 형식과 사전, 스택 또는 대기열과 같은 일반화된 데이터 구조 형식에는 형식의 용도와 같은 의미 있는 정보를 제공하는 이름을 사용할 수 있습니다.
ICollection을 구현하며 특정 항목의 컬렉션인 형식의 이름은 'Collection'이라는 단어로 끝납니다. 예를 들어, Queue 개체의 컬렉션 이름은 'QueueCollection'입니다. 'Collection' 접미사는 foreach(Visual Basic의 경우 For Each) 문을 사용하여 컬렉션의 멤버를 열거할 수 있음을 나타냅니다.
IDictionary를 구현하는 형식의 이름은 형식이 IEnumerable 또는 ICollection을 구현하는 경우에도 'Dictionary'라는 단어로 끝납니다. 'Collection' 및 'Dictionary' 접미사 명명 규칙을 통해 사용자는 다음 두 열거형 패턴을 구분할 수 있습니다.
'Collection' 접미사를 사용하는 형식은 다음 열거형 패턴을 따릅니다.
foreach(SomeType x in SomeCollection) { }
'Dictionary' 접미사를 사용하는 형식은 다음 열거형 패턴을 따릅니다.
foreach(SomeType x in SomeDictionary.Values) { }
DataSet 개체는 System.Data.DataColumn 및 System.Data.DataRow 개체의 컬렉션으로 구성된 DataTable 개체의 컬렉션으로 구성됩니다. 이들 컬렉션은 기본 System.Data.InternalDataCollectionBase 클래스를 통해 ICollection을 구현합니다.
위반 문제를 해결하는 방법
올바른 단어를 접미사로 사용하여 형식의 이름을 변경합니다.
경고를 표시하지 않는 경우
형식이 확장될 가능성이 있거나 임의의 다양한 항목 집합을 보유하는 일반화된 데이터 구조인 경우 'Collection' 접미사를 사용할 때는 경고를 표시하지 않아도 안전합니다. 이 경우 BinaryTree와 같이 데이터 구조의 구현, 성능 또는 기타 특성에 대한 의미 있는 정보를 제공하는 이름을 사용하는 것이 좋습니다. 형식이 StringCollection과 같이 특정 형식의 컬렉션을 나타내는 경우 이 접미사는 해당 형식을 foreach 문을 사용하여 열거할 수 있음을 나타내기 때문에 이 규칙에서 경고를 표시해야 합니다.
다른 접미사의 경우에도 이 규칙에서 경고를 표시해야 합니다. 접미사를 사용하면 형식 이름을 통해 그 용도를 확실히 알 수 있습니다.
관련 규칙
CA1711: 식별자에는 올바른 접미사를 사용해야 합니다.