了解代码指标

Fee*_*eet 9 metrics code-analysis

我最近安装了Eclipse Metrics插件并导出了我们的一个项目的数据.

拥有这些漂亮的图表非常好,但我真的想深入了解它们的意思.指标的定义只是告诉你它的真正含义.

有没有人知道任何好的资源,书籍,网站等,可以帮助我更好地理解所有数据的含义,并在必要时了解如何改进代码?

我对Efferent Coupling和Cyclomatic Complexity等感兴趣,而不是每行方法的代码行数.

Til*_*ill 4

我不认为代码指标(有时称为软件指标)可以在您可以改进的方面提供有价值的数据。

通过代码指标,很高兴看到您在一小时内编写了多少代码等,但除此之外,它们还告诉您所编写代码的质量、其文档和代码覆盖率。它们几乎是一周的尝试来测量你无法真正测量的地方。

代码度量也会歧视那些解决更困难问题的程序员,因为他们显然设法减少了代码量。然而他们解决了难题,初级程序员写出大量垃圾代码看起来不错。

使用指标的另一个例子是非常流行的Ohloh。他们使用指标来给开源项目贴上价格标签(使用行数等),这本身就是一种有缺陷的尝试- 正如你可以想象的那样。

话虽如此,维基百科条目提供了有关该主题的一些整体见解,很抱歉没有通过一个非常好的网站或书籍以更具支持性的方式回答您的问题,但我敢打赌您已经明白我不是一个超级粉丝。:)

帮助您改进的方法是持续集成,并在代码、文档等方面遵守某种标准。这就是你可以改进的方法。指标只是会议上的养眼之物——“看看我们已经编码了这么多”。

更新

好吧,我的观点是传出耦合甚至圈复杂度都可以表明某些事情是错误的 - 但它不一定是错误的。它可以作为重构类的指标,但没有经验法则告诉您何时重构。

恕我直言,500 多行代码、重构或DRY 原则等规则在大多数情况下更适用。有时就是这么简单。

我给你这么多,因为圈复杂度被绘制成流程图,它可以让你大开眼界。但再次强调,请谨慎使用。