CA1709: 식별자는 정확한 대/소문자를 사용해야 합니다.

항목
RuleId CA1709
범주 Microsoft.Naming
주요 변경 내용 호환성이 손상되는 변경 - 어셈블리, 네임스페이스, 형식, 멤버, 매개 변수에 적용되는 경우

호환성이 손상되지 않는 변경 - 제네릭 형식 매개 변수에 적용되는 경우

원인

식별자의 이름에 대/소문자가 올바르게 지정되지 않았습니다.

-또는-

식별자의 이름에 2자로 된 머리글자어가 포함되어 있고 두 번째 문자가 소문자입니다.

-또는-

식별자의 이름에 3자 이상의 대문자로 된 머리글자어가 포함되어 있습니다.

규칙 설명

명명 규칙은 공용 언어 런타임을 대상으로 하는 라이브러리에 대한 일반적인 모양을 제공합니다. 이 일관성 때문에 새 소프트웨어 라이브러리에 필요한 학습 곡선이 줄어들고 라이브러리가 관리 코드 개발 전문가에 의해 개발되었다는 고객 신뢰도가 향상됩니다.

규칙에 따라 매개 변수 이름은 카멜식 대/소문자를 사용하고 네임스페이스, 형식, 멤버 이름은 파스칼식 대/소문자를 사용합니다. 카멜식 대/소문자를 사용하는 이름에서 첫 문자는 소문자이고 이름에 포함된 나머지 단어의 첫 문자는 대문자입니다. 카멜식 대/소문자를 사용하는 이름의 예로는 packetSniffer, ioFile, fatalErrorCode가 있습니다. 파스칼식 대/소문자를 사용하는 이름에서 첫 문자는 대문자이고 이름에 포함된 나머지 단어의 첫 문자는 대문자입니다. 파스칼식 대/소문자를 사용하는 이름의 예로는 PacketSniffer, IOFile, FatalErrorCode가 있습니다.

이 규칙은 대/소문자에 따라 이름을 단어로 분할하고 “In” 또는 “My”와 같이 2자로 된 일반적인 단어 목록에서 2자로 된 단어를 확인합니다. 일치 항목이 없는 경우 단어를 머리글자어로 가정합니다. 또한 이 규칙에서는 이름의 끝에 대문자 4개나 대문자 3개가 연속으로 포함된 경우 머리글자어를 발견했다고 가정합니다.

규칙에 따라 2자로 된 머리글자어는 모두 대문자를 사용하고, 3자 이상의 머리글자어는 파스칼식 대/소문자를 사용합니다. 이 명명 규칙을 사용하는 예로는 ‘DB’, ‘CR’, ‘Cpa’, ‘Ecma’가 있습니다. 규칙을 위반하는 예로는 ‘Io’, ‘XML’, ‘DoD’가 있고, 매개 변수가 아닌 이름의 경우 ‘xp’ 및 ‘cpl’이 있습니다.

‘ID’는 이 규칙을 위반하는 특별한 경우입니다. 'Id'는 머리글자어가 아니라 'identification'의 약어입니다.

위반 문제를 해결하는 방법

대/소문자가 올바르게 지정되도록 이름을 변경합니다.

경고를 표시하지 않는 경우

고유한 명명 규칙이 있거나 식별자가 회사 또는 기술 이름과 같은 적절한 이름을 나타내는 경우 이 경고를 표시하지 않아도 됩니다.

코드 분석 사용자 지정 사전에 특정 용어, 약어, 머리글자어를 추가할 수도 있습니다. 사용자 지정 사전에 지정된 용어는 이 규칙의 위반에서 제외됩니다. 자세한 내용은 방법: 코드 분석 사전 사용자 지정을 참조하세요.

CA1708: 식별자에는 대/소문자만 다른 이름을 사용할 수 없습니다.