|
5
|
| Sir Rippov the Maple · 技术社区 · 17 年前 |
|
|
1
13
首先充分利用[SuppressMessage]属性。至少在开始的时候。一旦您通过属性将计数设置为0,然后输入一个规则,新签入可能不会引入FxCop冲突。 Visual Studio 2008有一个很好的代码分析功能,允许您确保代码分析在每个生成上运行,并且可以将警告视为错误。这可能会降低一些速度,所以我建议设置一个持续集成服务器(如CruiseControl.net),并让它在每次签入时运行代码分析。 一旦您控制了它,并且没有在每次签入时引入新的冲突,就开始一次处理所有类的fxcop冲突,目的是删除您使用的suppressMessageAttributes。 跟踪您真正想要保留的内容的方法是,总是向您真正想要禁止的内容添加一个对正值。 |
|
|
2
3
用传递样式重写代码! 说真的,一个旧的代码库会有数百个错误——但这就是为什么我们有新手/实习生程序员。纠正fxcop违规行为是获得代码库概述并学习如何编写符合.NET规范的代码的一个很好的方法。 所以只要咬一口子弹,喝大量的咖啡因,几天后就可以度过难关! |
|
|
3
0
尼科斯 looks like 它可以做你想要做的,但我不确定它是否可以集成到CruiseControl.NET自动化构建中,如果代码不满足要求(这是我希望发生的事情),它是否会使构建失败。 还有其他想法吗? |
|
|
4
-1
fxcop的另一种选择是使用该工具 NDepend . 此工具允许写入 C LINQ查询的代码规则 (我们称之为什么 CQLinq ) 免责声明:我是该工具的开发人员之一 不止 200 code rules 默认情况下被提议。自定义现有规则或创建自己的规则非常简单,这要归功于 众所周知的 C·LINQ语法。 为了减少误报的数量,cqlinq提供了独特的功能来定义什么是集合 贾斯密密码 通过前缀为的特殊代码查询 诺特码 . 可以找到有关此功能的更多说明 here . 以下是示例2 诺特码 默认查询: 为了减少误报的数量,使用cqlinq,您还可以将规则结果只集中在添加的代码或重构的代码上,因为 defined baseline in the past . 请参见以下规则,即检测自基线以来添加或重构的过于复杂的方法:
最后,请注意,使用ndepend代码规则可以验证 live in Visual Studio 在构建过程中, generated HTML+javascript report . |