2014-01-28 25 views
2

我在一家公司工作,他们的首字母缩写是XyZ(大写字母后跟小写字母,后面再加大写字母)。我该如何让FxCop理解一个'多案'的单词?

这个词遍布我们所有的命名空间。当我对我们的项目运行FxCop时,它指责IdentifiersShouldBeCasedCorrectlyCA1709)。建议是大写首字母(我不想要的)。

我该如何让FxCop明白XyZ这个词是已知的,拼写正确,并且正确地放在一起? (换句话说,就是写得很好的

我添加了字到CustomDictionary.xml文件:我已经添加到Recognized字; Unrecognized单词;还有AcronymsCasingExceptions。这些都没有影响。

我也核实的FxCop确实读取自定义词典文件,当我的缩写加一个字停止作为外壳错误报告如预期(但仅限于全部大写的话)。

我在C#项目中使用FxCop 1.36(GUI一)。


更新

添加只是Xy到外壳的例外似乎使FxCop的忽略XyZ因为我想要的。

还没,因为它很好的解决方案将允许像XyXXyW错词时(只),正确的是XyZ

+0

否,建议是*不*将整个事情资本化。 .NET的命名约定是使用'Abc',* even *,如果它通常总是写成'ABC',或者在你的情况下使用'AbC'。这可以直接在你链接的页面上解释,其中还包括了一些规则的例子:'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 /缩写

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

条款在词典/缩略语/ CasingExceptions节点被应用到下面的代码分析规则:

CA1709: Identifiers should be cased correctly 
+0

我已经尝试过,并没有工作(对于套管作为'XyZ')。 – talles

相关问题