Java代码分析/度量工具

标签 java netbeans code-analysis code-metrics jdepend

我正在寻找一个免费的 Java 代码分析/度量工具,我可以使用它来查看类依赖关系、方法执行时间等,并可能打印出显示它们的图表。我目前在 ANT 中使用 jdepend 任务来实现这一点,但我认为必须有更好的工具来处理这类事情。如果它与 Netbeans 集成,我也更喜欢,因为我不想将我的所有项目移植到 Eclipse 来执行分析任务。我曾尝试使用 Visual Paradigm 的社区版本,但当它在社区版本中不提供代码同步时,我很快就厌倦了它。如果那确实是要走的路,我可以再试一次。我也尝试过 BOUML,但它似乎更像是一个 UML 设计工具,而不是现有的代码分析器。所以,我的问题是,你们用什么进行 Java 代码分析?谢谢!

编辑:例如,JDepend 测量一些指标并可以绘制一个漂亮的小依赖图,但它没有 UI 或任何东西。我想我正在寻找一种工具,它可以提取我所有的类及其相互依赖关系(jdepend 只做包 AFAIK)以及类之间调用的方法,并提供一个度量数字“有多好”代码结构是”。如果问题含糊不清,我深表歉意,我只是在寻找各种选择,而我在代码度量工具方面并没有太多经验......

最佳答案

正如@Victor 提到的Sonar是一个非常好的静态代码分析工具。它生成图形、图表,​​并且通常允许您以多种方式对 Java 代码分析进行切片和切 block 。

但是,它确实作为服务器运行,这可能需要您在您的机器/网络上可能没有的权限。我自己使用它,我推荐它,但它并不总是实用。因此,让我们看一下它在幕后使用的一些工具。

首先,有 FindBugs .顾名思义,它可以帮助您查找 Java 源代码中的错误。

接下来是PMD .它有助于以不同于 FindBugs 的方式查找错误。

第三,有 CheckStyle .它有助于确保您的代码符合特定的样式指南。

最后,有 Cobertura ,它检测您的 Java 字节码并分析您的单元测试执行了哪些源代码行(您确实有单元测试,对吧?)

这并不是 Sonar 使用的工具的详尽列表,但它涵盖了似乎是亮点的部分。在 Sonar 内部,这些都是 100% 可配置的。在 Sonar 之外,它们仍然是可配置的,但您最好喜欢 XML。

关于Java代码分析/度量工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8345140/

相关文章:

Java:测试字符串是否以换行符结尾

c - 在 pkg-config 搜索路径中找不到包检查

c# - 查找复制/粘贴代码的工具?

code-analysis - 有没有人为FxCop/StyleCop创建任何很酷的规则?

c# - 未找到类型或命名空间 "are you missing assembly reference"而所有引用都正确

java - 数独 - 递归回溯可能的解决方案计数器

java - 如何使面向对象的java项目完全通用

java - 如何检查 TreeMap 是否是 Java 中另一个 TreeMap 的子图

c++ - 为什么我不能包含 vector ?

java - 搜索可见