2011-12-01 94 views
3

我正在寻找一种免费的Java代码分析/度量工具,可以用来查看类依赖关系,方法执行时间等,并可能打印出显示它们的图表。我目前在ANT中使用jdepend任务来实现这一目标,但是我认为必须有更好的工具来完成这种任务。我更喜欢它是否与Netbeans集成,因为我宁愿不将所有项目都移植到Eclipse中进行分析。我试图玩社区版的Visual Paradigm,但当它在社区版中没有提供代码同步时,我感到非常快。尽管如果这确实是一条可行的路线,我可以再试一次。我也尝试过BOUML,但它似乎更像是一个UML设计工具,而不是现有的代码分析器。所以,我的问题是,你们用于Java代码分析的是什么?谢谢!Java代码分析/度量工具

编辑:例如,JDepend度量几个度量标准,可以绘制一个很好的小依赖图,但它并不完全具有UI或任何东西。我想我正在寻找一个工具,它可以绘制出我所有的类和它们之间的依赖关系(jdepend只包AFAIK)以及在类之间调用的方法,并提供了一个度量标准“代码结构是“。我很抱歉,如果问题是模糊的,我只是寻找各种选项,我并不完全有很多代码度量工具的经验... ...

+0

代码分析是什么意思?您可以使用像emma或cobertura这样的代码覆盖工具来知道调用哪些代码部分以及多少次,可以使用ucdetector查找未使用的代码,使用checkstyle/pmd进行静态代码分析,或使用分析器查找哪些方法调用哪些方法,以及多少次... – aishwarya

+0

分析如何?执行时间是分析。依赖关系完全是另一回事。测试覆盖率是另一个。循环复杂性是另一个。等......正如维克多所说,Sonar可以融合一大堆,但它不仅仅是一个简单的分析工具。 –

回答

3

正如@Victor提到的Sonar是一款非常不错的静态代码分析工具。它生成图表,图表,并且通常允许您以多种方式切分和切分Java代码分析。

但是,它确实作为服务器运行,它可能需要您的计算机/网络上您可能没有的权限。我自己使用它,我推荐它,但它并不总是实用。那么让我们来看看它在底层使用的一些工具。

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

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

三,有CheckStyle。它有助于确保您的代码符合某些样式指南。

最后,还有Cobertura,该仪器将Java字节码,分析了行源代码被你的单元测试(你有单元测试,对吧?)

这不是工具的详尽清单行使该声纳采用了,但它涵盖了什么似乎是亮点。声纳内部,这些都是100%可配置的。在Sonar之外,它们仍然是可配置的,但你更喜欢XML。

2

Sonar.虽然,我个人从来没有使用它,所以我不能回答关于细节的问题。然而,我知道我们的conitnuos建筑工具与它集成在一起可以制作漂亮的图片:)

+0

有趣的,我会看看,谢谢:) – SuperTron