2014-01-28 2 views
2

나는 그들의 약어가 XyZ과 같은 회사에서 일하고있다. (대문자 다음에 소문자가오고 대문자가 다시 온다.)FxCop을 '멀티 - 케이스'단어로 이해하려면 어떻게해야합니까?

이 단어는 우리의 모든 네임 스페이스에 걸쳐 있습니다. 우리 프로젝트에 대해 FxCop을 실행할 때 IdentifiersShouldBeCasedCorrectly (CA1709)이라고 비난합니다. 제안은 단지 첫 글자 (내가 원하지 않는 것)를 자본화하는 것입니다.

FxCop은 단어 XyZ이 알려져 있고 철자가 정확하고 올바르게 입력되었는지 이해하게하려면 어떻게해야합니까? (즉, 잘 쓰여진)입니다.

단어를 CustomDictionary.xml 파일에 추가했습니다 : 나는 Recognized 단어를 추가했습니다. Unrecognized 단어들; 또한 AcronymsCasingExceptions입니다. 이들 중 어느 것도 효과가 없었다.

또한 FxCop이 실제로 사용자 지정 사전 파일을 읽는 것을 확인했습니다. 머리 글자 어에 다른 단어를 추가하면 대문자 오류로 예상되는 대소 문자로보고가 중지됩니다 (단, 대문자 만 가능).

저는 C# 프로젝트에서 FxCop 1.36 (GUI 중 하나)을 사용하고 있습니다. 단지 Xy 케이싱 예외를 추가


업데이트

내가 원하는대로의 FxCop은 XyZ을 무시 할 것으로 보인다.

올바른 단어가 XyZ 일 때 XyX 또는 XyW과 같은 잘못된 단어가 허용되므로 여전히 좋은 해결책이 아닙니다.

+0

아니, 제안은 모든 것을 자본화하는 것이 아닙니다. .NET 명명 규칙은 일반적으로 항상 'ABC'로 쓰여지거나, 당신의 경우'AbC'라면 'Abc', * even *을 사용합니다. 이는 링크 된 페이지에서 직접적으로 설명됩니다.이 규칙의 예제가 포함되어 있습니다 :'SQL' (여기에 언급되지 않음)과'XML' (일반적으로 항상 언급 됨)은 대개 항상 대문자로 표기되지만, .NET 클래스 및 메소드에서는, 'Sql'과'Xml'이됩니다. – hvd

+0

@hvd, 네 말이 맞아. 수정 됨. 내 문제는 여전히 동일합니다. – talles

+0

개인적으로 나는 FxCop 규칙을 그냥 억제 할 것입니다. 규칙 위반을 발견 한 것은 정확하며 규칙 위반은 의도적 인 것이므로 진단하는 것이 도움이되지 않습니다. 그러나 나는 이것이 당신이 선호하는 해결책이 아닐 수 있음을 이해할 수 있습니다. – hvd

답변

2

XyZ을 FxCop 사전에 추가 할 수 있습니다 (How to: Customize the Code Analysis Dictionary 참조).

 
Code Analysis uses a built-in dictionary to check identifiers in your code for 
errors in spelling, grammatical case, and other naming conventions of the .NET 
Framework guidelines. You can create a custom dictionary Xml file to add, 
remove, or modify terms, abbreviations, and acronyms to the built-in dictionary. 

사전/약어/CasingExceptions/약어 사전/약어/CasingExceptions 노드의

<Dictionary> 
     <Acronyms> 
     <CasingExceptions> 
      <Acronym>NESW</Acronym> <!-- North East South West --> 
      ... 
     </CasingExceptions> 
     ... 
     </Acronyms> 
     ... 
</Dictionary> 

약관는 다음 코드 분석 규칙에 적용됩니다

CA1709: Identifiers should be cased correctly 
+0

이전에 시도했지만 ('XyZ'로 묶기 위해) 작동하지 않았습니다. – talles