Answers:
Stylecop是一种样式分析工具,可在源代码级别使用。它的存在主要是为了提供一种通用样式,托管项目可以使用该通用样式在更大范围的托管软件中保持一致。它主要是在样式方面做出决定,以避免圣战(毕竟,样式几乎始终是固有的主观事物)。我认为我从未见过喜欢StyleCop的所有规则的人,但是没关系。这意味着StyleCop在现有的大量样式指南中通常是一个很好的折衷方案。(如果stylecop的规则是高度可定制的,而不仅仅是简单地启用/禁用它们,那将破坏该工具的全部用途。)
另一方面,FxCop是一种静态分析工具,可在托管程序集的级别上使用。可以通过属性给定方向,因为它可以看到代码元素上的属性,例如。它检测在“二进制”级别(实际上)而不是语法级别可以看到的问题。
要回答您的问题,StyleCop不会取代FxCop,FxCop不会取代stylecop。它们是具有两个不同目的的两个不同工具,都可以为您的代码带来真正的好处。
(又名,我两个都跑。:))
一个可以检测到的东西与另一个可以检测到的东西的几个示例:
违反StyleCop的警告可能包括与以下内容有关的警告:空格,格式设置,通过xml注释的公共方法文档,类中方法定义的顺序。
FxCop违规可能包括与以下内容有关的警告:全球化,紧密耦合,圈复杂度,潜在的空引用取消引用。
stylecop适用于您的C#源代码。fxcop从任何.net语言查看您的编译代码。
对FxCop / StyleCop的替代或很好的补充是使用商业工具NDepend。使用该工具,可以编写基于LINQ查询的代码规则 (即CQLinq)。免责声明:我是该工具的开发人员之一
超过200分的规则是默认设置的,其中包括设计,建筑,代码质量,代码演变,命名约定,死码,.NET Fx的使用 ...
CQLinq致力于编写代码规则,这些规则可以在Visual Studio中实时进行验证,也可以在构建过程中进行验证并在HTML / javascript报告中进行报告。
与FxCop或StyleCop相比,CQLinq的强项是编写代码规则并立即获得结果很简单。提出了浏览匹配代码元素的工具。具体来说,看起来像这样:
StyleCop执行源代码分析不是非常可配置的。它实际上与FxCop的功能不同,后者分析已编译的代码。
关于这些的维基百科文章提供了关于差异的很好的总结: