C# fxcop是提高代码质量的有价值/有效工具吗?

C# fxcop是提高代码质量的有价值/有效工具吗?,c#,fxcop,C#,Fxcop,我有一个大型的高质量c#框架代码库,尽管如此,我还是想尝试改进 fxcop是改进.NET框架的有效工具吗?我知道微软在内部使用这个工具,但是外部用户如何找到它呢?值得吗 我已经有了无数行代码和一个完善的风格,它能适应我们的风格并提供良好的指导吗 大概需要多长时间来安装?几小时,几天,几周?我迟早会学到有用的东西吗 是的,FxCop是改进.Net代码库的一个非常有效的工具。除了查找许多不同类型的bug(全球化、pinvoke、安全性、性能)之外,它还将警告您违反约定的各种样式问题。并指出偶尔的拼写

我有一个大型的高质量c#框架代码库,尽管如此,我还是想尝试改进

  • fxcop是改进.NET框架的有效工具吗?我知道微软在内部使用这个工具,但是外部用户如何找到它呢?值得吗

  • 我已经有了无数行代码和一个完善的风格,它能适应我们的风格并提供良好的指导吗

  • 大概需要多长时间来安装?几小时,几天,几周?我迟早会学到有用的东西吗

  • 是的,FxCop是改进.Net代码库的一个非常有效的工具。除了查找许多不同类型的bug(全球化、pinvoke、安全性、性能)之外,它还将警告您违反约定的各种样式问题。并指出偶尔的拼写错误
  • FxCop是高度可定制的。例如,您可以关闭所有样式建议,只启用错误检查。这会给你带来立竿见影的好处,而不必改变你的风格
  • 实际上,这取决于您启用了多少FxCop以及您的代码库有多大。我发现在我的个人项目中,很少需要超过一个小时的时间来完成。但对于一个大项目,我会安排一两天

  • 我发现fxCop是执行编码标准的一个好工具。如果您已经有了自己的标准,并且始终遵循该标准,那么我看不出有什么理由需要更改,对于这么多行代码来说更是如此。设置非常简单,运行和修复一切都是另外一回事。

    当然可以。我用了一年半。它发现了各种各样的问题和陷阱,它教会了我一两件事。在许多情况下,微软最清楚

    设置只是勾选几个框并修改几个构建脚本的问题,这是值得付出努力的。如果你研究它做出的你不理解的决定并保持开放的心态,你会从中学到很多东西

  • 它在大多数情况下都很有用,但并不总是如此!(您只需要认真对待一些核心问题,而不考虑以microsoft风格开发代码所特有的问题)

  • 它提供的一些指导与风格无关,并且取决于您是否遵循良好的编程实践,因此您可以从中获得一些指导

  • 我认为安装不会花费你太多时间,最多需要几个小时


  • 谢谢

    FxCop规则的另一种选择是使用工具NDepend。此工具允许在C#LINQ查询上编写代码规则。免责声明:我是该工具的开发者之一

    1) 默认情况下建议的数量超过。它们使工具有效,因为它们涵盖了广泛的检查范围(代码质量、.NET Fx使用、结构、设计、演变、破坏性更改、死代码、命名约定…)

    2) 由于众所周知的C#LINQ语法,定制现有规则或创建自己的规则非常简单

    3) 规则可以在构建过程中进行验证,并以一种简单的方式进行。这是简单的设置,最多几个小时

    3) 我会很快学到有用的东西吗


    让我们引用Hakan Tuncer的推文:

    关于第三点,允许一两天的努力可能会有所帮助,但要将这一点实时传播到一周左右的时间内,很难坐下来第一次为团队做好准备。谢谢JaredPar和其他人。看来我们要试试这个工具了。我们只是后期发布,所以我有一些时间做类似的事情。顺便说一句,代码库有数百个类,所以它相当大。