fxcop是提高代码质量的宝贵/有效工具吗?

时间:2009-12-08 15:54:19

标签: c# fxcop

我有一个高质量的c#框架代码库,但我仍希望尝试改进。

  1. fxcop是改进.NET框架的有效工具吗?我知道Microsoft在内部使用该工具,但外部用户如何找到它?值得吗?

  2. 我已经拥有数十亿行代码和完善的风格,是否可以适应我们的风格并提供良好的指导?

  3. 粗略地说,设置需要多长时间?小时,天,周?我会尽快学到一些有用的东西吗?

5 个答案:

答案 0 :(得分:16)

  1. 是的FxCop是一个非常有效的工具,用于改进.Net代码库。除了发现许多不同类型的错误(全球化,pinvoke,安全性,性能)之外,它还会警告您违反惯例的各种风格问题。并指出偶尔的拼写错误。
  2. FxCop是高度可定制的。例如,您可以关闭所有样式建议并仅启用错误检查。这将为您带来直接的好处,而不必改变您的风格。
  3. 真正取决于您启用的FxCop的数量以及代码库的大小。我发现在我的个人项目中,设置很少需要一个多小时。但对于一个大型项目,我会安排一天或两天

答案 1 :(得分:4)

绝对是的。我用了一年半。它发现了各种各样的问题和陷阱,它教会了我一两件事。在许多情况下,微软最了解。

设置只是勾选几个框并修改一些构建脚本的问题,值得付出努力。如果你研究自己不了解并保持思想开放的决策,你将从中学到很多东西。

答案 2 :(得分:2)

  1. 大部分时间都很有用,并非总是如此! (你需要认真对待一些核心问题,忽略以微软风格开发代码非常特殊的问题)。

  2. 它提供的一些指导与风格无关,取决于您是否遵循良好的编程习惯,所以是的,您可以从中获得一些指导。

  3. 我认为设置不会花费你太多时间,最多应该是几个小时。

  4. 由于

答案 3 :(得分:1)

我发现fxCop是强制执行编码标准的好工具。如果你已经拥有自己的标准,并且你一直遵循它,我没有太多理由去改变,甚至更多的代码行。设置非常简单,运行和修复一切都是别的。

答案 4 :(得分:0)

FxCop规则的替代方案是使用工具NDepend。此工具允许通过C#LINQ查询编写代码规则 what we call CQLinq免责声明:我是该工具的开发人员之一

1)默认提出超过200 code rules。它们使工具有效,因为它们涵盖了广泛的检查(代码质量,.NET Fx使用,结构,设计,演变,重大变化,死代码,命名约定......)

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

3)可以在live in Visual Studio中验证规则generated HTML+javascript report和构建过程时间。这很容易设置,最多几个小时。

  

3)bis 我会在稍后学习一些有用的东西吗?

让我们引用Hakan Tuncer的这条推文:It's amazing to see how much you can learn just by reading the ‪#NDepend‬ rules.Rule descriptions even contain references to blog links.