Ndepend和其他自动代码分析器的启示?

Pat*_*ins 5 .net c# code-analysis

从昨天开始,我正在分析我们的一个项目Ndepend(大部分功能都是免费的)以及我使用它的更多,而且我对这类软件(代码分析软件)的真正价值有所怀疑.

让我解释一下,系统根据Rank每个指标构建一个关于系统和类的健康状况的报告.我认为这是一个很好的起点进行修改,但大多数顶级结果都在这里,因为它们在类中有超过100行(我们有大标题,我们确实使用VS注释样式)所以这不是什么大问题.. .传入耦合级别(CA)的数量总是太高,这对于我们经常使用的界面来说几乎是真的...所以此刻我没有看到错误,但NDepend似乎不喜欢它(如果你有改进建议,告诉我,因为我认为没有必要).对于我的大多数接口都太高的儿童数量,这个名为"NOC"的度量标准是一样的...

目前,唯一非常有用的指标是Cyclomatic Complexity ......

我的问题是:你觉得用NDepend这样的自动代码分析器分析代码是否值得?如果是,那么如何过滤我提到的并不能真正显示系统真实健康状况的所有信息?

Pat*_*eam 2

实际上指标只是 NDepend 的一项功能,您是否尝试过使用 VisualNDepend 来比报告更深入地分析您的项目?通过阅读您的评论,我几乎可以肯定您没有使用 NDepend UI(独立或集成在 Visual Studio 中),这是过滤有关代码库的数据的最佳方式。

我是 NDepend 的开发人员之一,我们经常使用它来分析我们自己的代码。基本上,我们使用 LINQ 查询上的代码规则 (CQLinq)编写自己的质量规则。这些规则自动确保我们的设计不会出现回归。您可以在这里找到大约200 条默认代码规则的列表。

以下是 NDepend 的一些独特功能,与代码指标无关:

有关 NDepend 功能的完整列表,请参阅此处