代码之家  ›  专栏  ›  技术社区  ›  Ed Sinek

静态代码分析-首先打开哪些?

  •  3
  • Ed Sinek  · 技术社区  · 17 年前


    我们有一个相对较大的C#解决方案(150多个项目),虽然其中一些项目(<20)虔诚地使用静态代码分析,但大多数都不是。我们希望开始在所有项目上强制执行静态代码分析,但启用所有规则将极大地分散我们当前项目的注意力。我们应该首先启用可用的许多静态代码分析规则中的哪一个?哪些规则对金钱的影响最大?如果你能给我你的排名前20名,我将不胜感激。
    提前感谢,,
    --教育硕士。

    5 回复  |  直到 17 年前
        1
  •  2
  •   TrueWill    17 年前

    鉴于演播室的规则类似于FxCop的规则,我可以告诉您我将启用哪些规则 最后的 .

    最初关闭性能规则。在需要时进行优化。

    编辑:最重要的是减少噪音。如果每个项目都有200条警告,并且持续几个月,那么每个人都会忽略它们。打开对团队重要的规则,清理代码以获得100%的通过率(或者抑制异常——会有异常;这些是指导原则),然后强制保持代码干净。

        2
  •  2
  •   Nicole Calinoiu    16 年前

    您应该为项目激活的第一条规则是那些您在该项目中尚未违反的规则。这将允许您避免引入新问题,而无需花费任何额外的清理工作。

    至于其他项目,考虑到您已经在其他项目上使用代码分析,您最有可能违反规则并造成严重后果的最佳输入可能是在这些项目上工作的开发人员。如果在项目之间没有足够的重叠来获得来自开发者的有意义的反馈,那么您可能需要考虑从包含在 Microsoft Minimum Recommended Rules Visual Studio 2010中的规则集。

    consider using FxCop instead of VS Code Analysis 直到清理完成。这将允许您立即激活规则,同时保留源代码之外现有违规行为的“清理”排除。

        3
  •  0
  •   Alex Reitbort    17 年前

    如果您要本地化您的项目/它将在不同的国家/地区使用,那么一定要启用本地化规则。它将查找对所有未指定CultureInfo的格式化/解析函数的调用。涉及未指定CultureInfo的bug在测试中很难找到,但当你的法国客户问:为什么你的程序在以“,”作为小数分隔符的数字上不工作/崩溃时,它们会真的咬你的屁股。

        4
  •  0
  •   Jeroen Huinink    17 年前

    根据我的经验,所有类型的代码分析警告都会显示代码中的“隐藏”bug或缺陷。解决这些问题可以解决一些实际问题。我没有找到要禁用的警告列表。

    相反,我会一次打开一个项目,并在转到下一个项目之前修复该项目中的所有警告。

    如果您想关闭,我会考虑不检查命名规则(除非您正在运送一个库、API或其他外部暴露的方法)和全球化规则。(除非您的应用程序积极利用全球化)。这取决于你的情况,这是有道理的。

        5
  •  0
  •   Community Mohan Dere    9 年前

    我有点同意 Jeroen Huinink's answer .

    我会打开你认为项目应该遵循的所有规则,并尽快修复它们。您现在不必全部修复它们,但是当您在一个模块中经历并修复缺陷或重构一个方法时,您总是可以清理通过静态分析在该方法或模块中发现的问题。新代码应该遵守您的规则,现有代码应该尽快转换为遵守规则,但您不需要放弃所有东西来实现这一点。

    您的开发团队还可以查看项目的问题并对其进行优先级排序,也许可以在问题跟踪系统中为最关键的问题归档缺陷,以便由适当的开发人员快速解决这些问题。