从昨天开始,我就用尼丁 (免费的大部分功能)来分析我们的一个项目,而且我正在使用它,我对这种软件(代码分析软件)的真正价值有更多的怀疑。
让我来解释一下,这个系统建立了一份关于系统和类的健康状况的报告,按等级排列每一个度量。我认为这将是一个很好的起点来进行修改,但是大部分的顶级结果都在这里,因为它们在类中有超过100行(我们有很大的标题,我们确实使用VS注释样式),所以这不是什么大问题。而传入耦合级(CA)的数目总是太高,这对于我们经常使用的接口来说几乎是正确的。因此,在这个时候,我没有看到什么问题,但NDepend似乎不喜欢它(如果您有改进的建议,告诉我,因为我不认为需要)。我的接口大部分都太高了,这是一种名为"NOC“的儿童数量的度量方法。
就目前而言,唯一有用的指标是循环复杂度.
,我的问题是:你觉得用像NDepend这样的自动代码分析器来分析代码值得吗?如果是的话,你如何过滤所有的信息,我提到的,没有真正显示系统的真正健康?
发布于 2008-11-18 23:02:29
实际上,度量只是NDepend的一个特性,您是否尝试过使用VisualNDepend来比报告更深入地分析您的项目?通过阅读您的评论,我几乎可以肯定您没有使用NDepend UI (独立或集成在Visual中),这是筛选有关代码库数据的最佳方法。
我是NDepend的开发人员之一,我们经常使用它来分析我们自己的代码。基本上,我们用LINQ查询(CQLinq)上的代码规则编写我们自己的质量规则。这些规则自动确保我们的设计没有倒退。在这里,您可以找到关于200默认代码规则的列表。
以下是NDepend的一些独特特性,这些特性与代码度量无关:
有关完整的功能列表( if NDepend ),请参见这里。
发布于 2008-11-18 20:08:49
我不一定认为NDepend结果是“好”或“坏”在软件工程中,总是有一个很好的理由,为什么一个应用程序是这样设计的。我把它看作是一份报告,也许可以帮助我指出我的设计中的问题,但在决定一个方法是否需要重构,或者我设计的方法是否好的时候,我有一个最后的结论。一般来说,不要太纠结于回答是否值得回答。确实如此,相反,我建议你仔细审查结果。这将帮助您从另一个角度来查看您的设计,在某些情况下,您可能会决定您设计的方式,这是实现您的应用程序目标的最佳方法。
https://stackoverflow.com/questions/299296
复制相似问题