我在一家公司工作,他们的首字母缩略词类似于XyZ
(大写后跟小写,后面再大写)。
这个词分布在我们所有的命名空间中。当我针对我们的项目运行FxCop时,它会指责IdentifiersShouldBeCasedCorrectly
(CA1709)。建议只是将第一个字母(我不想要的)大写。
如何让FxCop明白单词XyZ
已知,拼写正确并且正确套装? (换句话说,那就是写得很好)。
我在CustomDictionary.xml
文件中添加了这个词:我添加了Recognized
个字词; Unrecognized
个字;以及Acronyms
和CasingExceptions
。这些都没有产生任何影响。
我还验证了FxCop确实正在读取自定义词典文件,当我在首字母缩略词中添加另一个词时,它会停止报告为预期的套管错误(但仅适用于所有大写词)。
我正在使用FxCop 1.36(GUI one)和C#项目。
更新
仅将Xy
添加到大小写异常似乎会让FxCop根据需要忽略XyZ
。
仍然不是一个很好的解决方案,因为当(仅)正确的XyX
XyW
时,它会允许XyZ
或{{1}}这样的错误字词。
答案 0 :(得分: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 /缩写强>
<Dictionary>
<Acronyms>
<CasingExceptions>
<Acronym>NESW</Acronym> <!-- North East South West -->
...
</CasingExceptions>
...
</Acronyms>
...
</Dictionary>
Dictionary / Acronyms / CasingExceptions节点中的术语适用于以下代码分析规则:
CA1709: Identifiers should be cased correctly