当谈到StyleCop和Code Analysis各自的规则时,它们之间的区别是什么

本文关键字:规则 是什么 区别 之间 StyleCop Code Analysis | 更新日期: 2023-09-27 18:21:28

你能告诉我StyleCop规则和代码分析规则之间的区别吗?它是否应该一起使用?

谢谢。

当谈到StyleCop和Code Analysis各自的规则时,它们之间的区别是什么

样式cop本质上解析文件,查找格式问题和其他您可能认为是"化妆品"的问题。代码分析实际上构建了您的代码,并检查编译后的运行时IL在运行时的行为特征,并标记潜在的运行时问题。

所以,它们是免费的,你可以把它们一起使用。

简短回答:

  • stylecop:将源代码作为输入,并检查潜在的代码样式问题。例如:using指令不是按字母顺序排列的。。。等等
  • fxcop(现在是代码分析):将编译的程序集作为输入,并在执行可执行文件/dll时检查与相关的潜在问题。例如:在您的类中,有一个类型为IDisposable的成员未正确处理

但是,这两个工具都有一些共同的规则,例如与公开类型的命名约定相关的规则。

不管怎样,两者都用是个好主意。

FxCop检查写入的内容。它对已编译的程序集有效。

StyleCop检查如何编写。它可以处理解析后的源文件,甚至不需要尝试编译它

这导致了所有的差异。例如,FxCop无法检查缩进,因为它们在编译的程序集中不存在。StyleCop无法执行代码流检查,因为它不知道代码是如何真正执行的。