Visual Studio代码分析与StyleCop + FxCop


72

我以前在Visual Studio的项目中使用了StyleCop + FxCop。但是现在我正在测试Visual Studio Code Analysis工具,该工具更易于集成到MSBuild中,并且我发现该工具可以分析FxCop和StyleCop的一些规则。

该工具是FxCop和StyleCop的完全替代产品,还是仅实现了某些规则?


7
仅供参考,代码分析仅适用于高级及更高版本,而不适用于专业版。见msdn.microsoft.com/en-us/library/dd264939%28v=VS.100%29.aspx
帕特

5
现在,Visual Studio 2012 Professional及更高版本中提供了代码分析。请参阅msdn.microsoft.com/en-us/library/dd264931.aspx
Nick Jones

5
现在,免费的(某些)Visual Studio 2013社区版中提供了Code Analsysis。参见visualstudio.com
mfeineis,2015年

Answers:


47

Visual Studio包含FxCop及更多功能。

来自FxCop开发者博客

抱歉,我的无知,但是我认为FxCop与VSTS中的代码分析完全分开吗?更具体地说,我假设如果安装新版本的FxCop,VSTS将无法利用(没有共享代码吗?)?如果是这样,什么时候知道这些更改将使它进入VSTS代码分析?谢谢!

没错,它们是不同的产品,但是它们具有通用的引擎。Visual Studio 2008 SP1已经具有相同的修补程序和分析(还有更多),因此无需使用最新的FxCop“更新” Visual Studio。

一个开发人员博客还给出了每个规则的确切规则。

至于StyleCop,它独立于此博客文章中所述的VS Code Analysis ,后者链接到Jader Dias的文章


开发人员博客链接已断开,但以下文章列出了规则集docs.microsoft.com/en-us/visualstudio/code-quality/…–
Casey,

13

我的理解是,Visual Studio代码分析基本上是FxCop的略微修改版本。根据我的经验,它们几乎是同一回事(实际上,我相信Code Analysis在后台使用FxCop可执行文件)。

尽管FxCop / CodeAnalysis和StyleCop之间存在重叠;FxCop倾向于更多地专注于设计规则,而StyleCop则专注于编码样式(外壳,空白,缩进等)。

另外,FxCop会分析IL,而StyleCop会直接分析源代码。这对它们可以强制执行哪些规则施加了一组不同的限制。


11

到目前为止,我的谷歌搜索结果如下:

http://blogs.msdn.com/bharry/archive/2008/07/19/clearing-up-confusion.aspx

状态:

“事实上,StyleCop是一个非常有用的工具,它可以执行FxCop和TeamDev不能执行的操作(并且不能执行他们所做的操作)。这是一个很棒的补充工具。StyleCop是用于进行编码样式检查以验证源代码是否按照您想要的方式进行了格式化,并遵循约定的样式准则。虽然FxCop有一些重叠(例如检查标识符的大小写),但是由于StyleCop并未进行深入分析,因此重叠很小其他静态分析工具则可以启用代码正确性检查,安全性检查等。”

但是我不确定“ TeamDev”是否与“ Visual Studio的代码分析”相同

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.