【问题标题】:Code Analysis rule exception cases代码分析规则异常案例
【发布时间】:2014-03-16 08:52:32
【问题描述】:

我们在代码分析规则集中启用了 CA1709:

CA1709: Identifiers should be cased correctly

在大多数情况下,这是一个很好的规则,但有时它可能是一个真正的痛苦。

例如,我们使用 deCarta 映射 API 并拥有 DeCartaSuchAndSuch 等服务。这会导致以下警告:

CA1709 : Correct the casing of 'De' in type name 'DeCartaSuchAndSuch' by changing it to 'DE'.

现在你可以想象我有多少次要隐藏这个确切的警告。

问题:是否可以对特定警告进行例外处理?例如,我希望在所有“DeCarta”情况下都忽略此警告。

【问题讨论】:

    标签: c# .net naming-conventions code-analysis static-code-analysis


    【解决方案1】:

    对于这种情况,请创建一个包含可接受的、可识别单词的自定义词典。您可以找到说明here。对于您的特定情况,它可能如下所示:

    <Dictionary>
         <Acronyms>
           <CasingExceptions>
              <Acronym>De</Acronym>
              ...
           </CasingExceptions>
           ...
        </Acronyms>
        ...
    </Dictionary>
    

    【讨论】:

      【解决方案2】:

      也许这会有所帮助!

      我找到了这个。

      http://dansen.wordpress.com/2008/04/15/suppressing-code-analysis-rules/

      它是这样说的:

      选择项目upressions文件选项时,suppressmessageattribute会放在项目GlobalSupcressions.cs文件中。

      using System.Diagnostics.CodeAnalysis;
      
      [assembly: SuppressMessage(
      "Microsoft.Design",
      "CA2210:AssembliesShouldHaveValidStrongNames")]
      

      我认为也许你可以对 CA1709 做同样的事情

      我希望这会有所帮助;)

      【讨论】:

      • 这将禁止对所有不正确的大小写发出警告,而不是 OP 专门选择的那些。
      猜你喜欢
      • 1970-01-01
      • 2012-04-25
      • 1970-01-01
      • 2010-09-07
      • 1970-01-01
      • 1970-01-01
      • 2018-03-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多