Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java代码分析/度量工具_Java_Netbeans_Code Analysis_Code Metrics_Jdepend - Fatal编程技术网

Java代码分析/度量工具

Java代码分析/度量工具,java,netbeans,code-analysis,code-metrics,jdepend,Java,Netbeans,Code Analysis,Code Metrics,Jdepend,我正在寻找一个免费的Java代码分析/度量工具,可以用来查看类依赖关系、方法执行时间等,还可以打印一个显示它们的图表。我目前正在使用ANT中的jdepend任务来实现这一点,但我认为必须有更好的工具来实现这一点。我还希望它与Netbeans集成,因为我不希望为了分析任务而将所有项目移植到Eclipse。我曾尝试过使用社区版的VisualParadigm,但当它在社区版中没有提供代码同步时,我很快就厌倦了。尽管我可以再尝试一次,如果真的是这样的话。我也尝试过BOUML,但它似乎更像是一个UML设计

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

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

不过,就我个人而言,我从未使用过它,因此我无法回答有关细节的问题。但是,我知道我们的conitnuos构建工具与它集成在一起,可以生成漂亮的图片:)

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

但是,它确实作为服务器运行,这可能需要在您的计算机/网络上拥有您可能没有的权限。我自己使用它,我推荐它,但它并不总是实用的。所以让我们来看看它在引擎盖下面使用的一些工具。< /P> 首先,有一个问题。顾名思义,它可以帮助您找到Java源代码中的bug

下一步是。它以不同于FindBugs的方式帮助查找bug

第三,还有一个问题。它有助于确保您的代码符合某些样式准则

最后,还有一个问题,您的Java字节码中有哪些工具,并分析哪些源代码行是由您的单元测试执行的(您确实有单元测试,对吗?)


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

您所说的代码分析是什么意思?您可以使用诸如emma或cobertura之类的代码覆盖工具来了解调用代码的哪些部分以及调用了多少次,您可以使用ucdetector来查找未使用的代码,使用checkstyle/pmd进行静态代码分析,或者使用探查器来查找哪些方法调用了哪些方法以及调用了多少次……如何分析?正在分析执行时间。依赖完全是另一回事。测试覆盖率是另一个问题。圈复杂度是另一种。等正如维克托所说,声纳可以混合这些,但它不仅仅是一个简单的分析工具。