我对代码统计工具很感兴趣。具体来说,我需要获取有关 Java EE 代码的统计信息,但任何代码分析器都可以。我应该开始创建自己的一个还是您使用过一些项目?
前任。LOC,类数,库...
你的经验是什么?
我对代码统计工具很感兴趣。具体来说,我需要获取有关 Java EE 代码的统计信息,但任何代码分析器都可以。我应该开始创建自己的一个还是您使用过一些项目?
前任。LOC,类数,库...
你的经验是什么?
正如 jitter 所解释的,Sonar绝对是您正在寻找的工具。请注意,此工具使用 JavaNCSS,但从 1.9 版开始,他们有自己的内部工具(称为 SonarSquid),它与 Java 1.5 或 1.6 项目完全兼容。
替代文字 http://sonar.codehaus.org/wp-content/uploads/2009/05/sonar-squid.jpg
此外,您可以监控一整套项目。
您可以访问Nemo 演示实例以全面了解该工具!
我已经使用过Metrics Eclipse Plugin。现在它已经过时了,但有许多有趣的指标。
还有StateOfFlow。它支持的指标较少,但似乎并没有那么过时。
您可以使用JavaNCSS -支持一些基本指标(NCSS、#classes/packages/functions、CCN)的 Java 源测量套件。
然后是支持大约 20 多个代码指标的Sonar和Clover(您甚至可以在其中使用特殊语言定义自己的指标)
如果这还不够,你可以用谷歌搜索“java”和“metrics”
收集相当小众统计数据的一种工具是Testability Explorer。它在 Java 字节码上运行,提供圈复杂度、可变全局状态和其他一些东西的统计信息。它在 Apache 2.0 许可下是免费和开源的。
正如我所说,它非常小众,可能不会提供像 LOC 那样容易关联的指标。但是,有趣的是,您可以将运行它的项目与几个知名的开源项目进行比较。这也许会使结果更有用。
我最近使用的另一个工具是SLOCCount。它是一个命令行工具,旨在为包括 Java 在内的许多不同语言提供统计信息。在大型代码库上运行 JavaNCSS 失败后(它抱怨文件太多)我让这个工具运行没有问题,对于一个非常大的代码库(IntelliJ IDEA)。一个不错的功能是它需要很少的可配置性,我什至不必告诉它查找*.java
文件,它会自动识别不同的语言并报告它们。
SLOCCount 的缺点是如果您运行的是 Windows - 您必须使用 Cygwin 来运行它。
SD Java Metrics Tool提供 SLOC、注释计数、Halstead 和圈复杂度数字,直至方法级别以及所有大于该级别的汇总(方法、类、文件、目录…… )
SD Java Clone Doctor分析软件系统的代码重复,并提供检测到的克隆的完整列表,在大型软件系统中通常为 10-20%。您可以在链接中查看克隆检测报告。
SD 源代码搜索引擎为您的源代码库编制索引,以提供对数百万行代码的快速搜索。作为索引源库的副产品,它为 SLOC、评论计数、Halstead 和 Cyclomatic 数字生成文件级统计信息。它适用于 Java、C# 和许多其他语言。
你也可以试试JavaDepend,它提供了超过 82 个指标,并且 CQL(类似 SQL)查询代码库使其灵活。
指标视图让您直观地了解 SLOC、复杂性和其他有趣的指标。