9

我对代码统计工具很感兴趣。具体来说,我需要获取有关 Java EE 代码的统计信息,但任何代码分析器都可以。我应该开始创建自己的一个还是您使用过一些项目?

前任。LOC,类数,库...

你的经验是什么?

4

7 回答 7

12

正如 jitter 所解释的,Sonar绝对是您正在寻找的工具。请注意,此工具使用 JavaNCSS,但从 1.9 版开始,他们有自己的内部工具(称为 SonarSquid),它与 Java 1.5 或 1.6 项目完全兼容。

替代文字 http://sonar.codehaus.org/wp-content/uploads/2009/05/sonar-squid.jpg

此外,您可以监控一整套项目。

您可以访问Nemo 演示实例以全面了解该工具!

于 2009-11-21T11:20:27.000 回答
5

我已经使用过Metrics Eclipse Plugin。现在它已经过时了,但有许多有趣的指标。

还有StateOfFlow。它支持的指标较少,但似乎并没有那么过时。

于 2009-11-21T10:39:50.873 回答
4

您可以使用JavaNCSS -支持一些基本指标(NCSS、#classes/packages/functions、CCN)的 Java 源测量套件。

然后是支持大约 20 多个代码指标的Sonar和Clover(您甚至可以在其中使用特殊语言定义自己的指标)

如果这还不够,你可以用谷歌搜索“java”和“metrics”

于 2009-11-21T10:45:49.777 回答
3

收集相当小众统计数据的一种工具是Testability Explorer。它在 Java 字节码上运行,提供圈复杂度、可变全局状态和其他一些东西的统计信息。它在 Apache 2.0 许可下是免费和开源的。

正如我所说,它非常小众,可能不会提供像 LOC 那样容易关联的指标。但是,有趣的是,您可以将运行它的项目与几个知名的开源项目进行比较。这也许会使结果更有用。


我最近使用的另一个工具是SLOCCount。它是一个命令行工具,旨在为包括 Java 在内的许多不同语言提供统计信息。在大型代码库上运行 JavaNCSS 失败后(它抱怨文件太多)我让这个工具运行没有问题,对于一个非常大的代码库(IntelliJ IDEA)。一个不错的功能是它需要很少的可配置性,我什至不必告诉它查找*.java文件,它会自动识别不同的语言并报告它们。

SLOCCount 的缺点是如果您运行的是 Windows - 您必须使用 Cygwin 来运行它。

于 2009-11-21T11:03:21.493 回答
3

SD Java Metrics Tool提供 SLOC、注释计数、Halstead 和圈复杂度数字,直至方法级别以及所有大于该级别的汇总(方法、类、文件、目录…… )

SD Java Clone Doctor分析软件系统的代码重复,并提供检测到的克隆的完整列表,在大型软件系统中通常为 10-20%。您可以在链接中查看克隆检测报告。

SD 源代码搜索引擎为您的源代码库编制索引,以提供对数百万行代码的快速搜索。作为索引源库的副产品,它为 SLOC、评论计数、Halstead 和 Cyclomatic 数字生成文件级统计信息。它适用于 Java、C# 和许多其他语言。

于 2010-01-31T21:56:13.487 回答
2

对于 Eclipse,您可以尝试Emma(代码覆盖率)和JDepend(设计质量指标)

于 2009-11-21T11:05:34.423 回答
2

你也可以试试JavaDepend,它提供了超过 82 个指标,并且 CQL(类似 SQL)查询代码库使其灵活。

指标视图让您直观地了解 SLOC、复杂性和其他有趣的指标。

指标视图

于 2011-11-14T18:51:34.843 回答