我在Visual Studio的项目中使用了以前的StyleCop + FxCop.但现在我正在测试Visual Studio代码分析工具,它更容易集成到MSBuild中,我发现这个工具分析了FxCop和StyleCop的一些规则.
这个工具是FxCop和StyleCop的完全替代品还是只是实现了一些规则?
Visual Studio包含FxCop +更多.
来自FxCop的开发者博客:
对于我的无知感到抱歉,但我认为FxCop与VSTS中的代码分析完全分开?更具体地说,我假设如果我安装新版本的FxCop,VSTS将无法利用(没有共享代码?)?如果是这种情况,任何想法何时会进入VSTS代码分析?谢谢!
这是正确的,它们是不同的产品,但它们确实有一个共同的引擎.Visual Studio 2008 SP1已经提供了相同的修复和分析(加上一点点),因此不需要使用最新的FxCop"更新"Visual Studio.
一个开发者博客也给了这是在每一个确切的规则.
至于StyleCop,它独立于VS Code Analysis,如本博文中所述,它链接到Jader Dias的帖子.
我的理解是Visual Studio Code Analysis基本上是FxCop的略微修改版本.根据我的经验,它们几乎是一样的(实际上我相信Code Analysis在幕后使用FxCop可执行文件).
虽然FxCop/CodeAnalysis与StyleCop之间存在重叠; FxCop倾向于更多地关注设计规则,而StyleCop则专注于编码风格(套管,空白,缩进等).
此外,FxCop分析IL,而StyleCop直接分析源代码.这对他们可以执行的规则施加了一系列不同的限制.
到现在为止,我的谷歌搜索得到了以下答案:
http://blogs.msdn.com/bharry/archive/2008/07/19/clearing-up-confusion.aspx
状态:
"事实上,我们发现StyleCop是一个非常有用的工具,它可以完成FxCop和TeamDev所做的事情(而且它不会做他们所做的事情.)它是一个很好的补充工具.TtyleCop是一个工具进行编码样式检查以验证源代码是否按照您希望的方式进行格式化并遵循约定的样式指南.虽然与FxCop有一些重叠(如检查标识符大小写),但由于StyleCop没有进行深入分析,因此重叠是微乎其微的.其他静态分析工具可以实现代码正确性检查,安全检查等."
但我不确定"TeamDev"是否与"Visual Studio的代码分析"相同