9

我有一个大型的高质量 c# 框架代码库,但我想尝试改进它。

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

  2. 我已经有数以万计的代码行和成熟的风格,它可以适应我们的风格并仍然提供良好的指导吗?

  3. 大概,设置需要多长时间?几小时、几天、几周?我会早点学到有用的东西吗?

4

5 回答 5

16
  1. 是的,FxCop 是改进 .Net 代码库的非常有效的工具。除了发现许多不同类型的错误(全球化、pinvoke、安全、性能)之外,它还会警告您各种违反约定的样式问题。并指出偶尔出现的拼写错误。
  2. FxCop 是高度可定制的。例如,您可以关闭所有样式推荐并仅启用错误检查。这将为您带来立竿见影的好处,而无需改变您的风格。
  3. 真的取决于您启用了多少 FxCop 以及您的代码库有多大。我发现在我的个人项目中,设置时间很少超过一个小时。但对于一个大型项目,我会安排一两天
于 2009-12-08T15:57:34.690 回答
4

是的,一点没错。我用了一年半。它发现了各种问题和陷阱,它教会了我一两件事。在许多情况下,微软最清楚。

设置只是勾选几个框并修改一些构建脚本的问题,非常值得付出努力。如果您研究它做出的您不理解的决策并保持开放的态度,您将从中学到很多东西。

于 2009-12-08T15:59:25.547 回答
2
  1. 它在大多数时候很有用,但并非总是如此!(您只需要认真对待一些核心问题,而忽略以微软风格开发代码的非常特殊的问题)。

  2. 它给出的一些指导与风格无关,取决于你是否遵循良好的编程实践,所以是的,你可以从中获得一些指导。

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

谢谢

于 2009-12-08T16:00:35.513 回答
1

我发现 fxCop 是执行编码标准的好工具。如果您已经有了自己的标准并且始终如一地遵循它,那么我认为没有太多改变的理由,对于这么多行代码更是如此。设置非常简单,运行和修复一切都是另一回事。

于 2009-12-08T15:58:48.247 回答
0

FxCop 规则的替代方法是使用工具 NDepend。该工具允许在 C# LINQ 查询上编写代码规则, 我们称之为 CQLinq免责声明:我是该工具的开发人员之一

1)默认提出200多条代码规则。它们使该工具有效,因为它们涵盖了广泛的检查(代码质量、.NET Fx 使用、结构、设计、演变、重大更改、死代码、命名约定......)

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

3) 规则可以在 Visual Studio 中实时验证,并且在构建过程中,在生成的 HTML+javascript 报告中。这很容易设置,最多几个小时。

3) bis我会早晚学到有用的东西吗?

让我们引用 Hakan Tuncer 的这条推文:看到#NDepend 规则可以学到很多东西,真是太神奇了。规则描述甚至包含对博客链接的引用。

于 2010-10-19T11:59:42.883 回答