Ndepend和其他自动代码分析的相关性?

时间:2008-11-18 16:37:49

标签: c# .net code-analysis

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

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

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

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

2 个答案:

答案 0 :(得分:2)

我不一定认为NDepend在软件工程中的结果是“好”或“坏”,总有一个很好的理由说明应用程序的设计方式。我认为它可以帮助我指出我的设计问题的报告,但在确定一个方法是否需要重构或者我的设计方式是否合适时,我还有最后的决定权。一般来说,如果值得或不值得,不要太过追赶。肯定是,我建议你仔细检查结果。这将帮助您从另一个角度查看您的设计,有时您可能会决定设计它的方式,以实现您的应用目标。

答案 1 :(得分:2)

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

我是NDepend的开发人员之一,我们使用它来分析我们自己的代码。基本上我们用Code Rules over LINQ Queries (CQLinq)编写自己的质量规则。这些规则自动确保我们的设计没有回归。在这里,您可以找到200 default code rules附近的列表。

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

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