代码之家  ›  专栏  ›  技术社区  ›  Patrick Desjardins

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

  •  5
  • Patrick Desjardins  · 技术社区  · 17 年前

    从昨天开始,我就在分析我们的一个项目 Ndepend (大多数功能都是免费的),我越来越多地使用它,我越来越怀疑这类软件(代码分析软件)的真正价值。

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

    目前,唯一非常有用的指标是圈复杂度。..

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

    2 回复  |  直到 17 年前
        1
  •  2
  •   Patrick from NDepend team    13 年前

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

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

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

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

        2
  •  2
  •   Ricardo Villamil    17 年前

    在软件工程中,我不一定认为NDepend的结果是“好”或“坏”的,应用程序以这种方式设计总是有一个很好的理由。我认为这是一份报告,可能可以帮助我指出我的设计问题,但在决定一个方法是否需要重构或我的设计方式是否好时,我有最后的决定权。一般来说,不要过于纠结于回答它是否值得。确实如此,相反,我建议你仔细审查结果。这将帮助您从另一个角度看待您的设计,在某些情况下,您可能会决定设计的方式是实现应用程序目标的最佳方式。