Java工具:源代码优化和分析

下面列出了一些工具,可以帮助您检查Java源代码中是否存在潜在问题:

1.来自http://pmd.sourceforge.net/的 PMD

许可证:PMD已获得“ BSD风格”许可证的许可

PMD扫描Java源代码并查找潜在的问题,例如:

*可能的错误-空的try / catch / finally / switch语句
*死代码–未使用的局部变量,参数和私有方法
*次优代码–浪费的String / StringBuffer使用 *过于复杂的表达式–不需要if语句,for循环可能是while循环 *重复代码–复制/粘贴的代码表示复制/粘贴的错误

您可以从此处下载所有内容,并可以在规则集索引页面上获得所有规则的概述。

PMD与JDeveloper,Eclipse,JEdit,JBuilder,BlueJ,CodeGuide,NetBeans / Sun Java Studio Enterprise / Creator,IntelliJ IDEA,TextPad,Maven,Ant,Gel,JCreator和Emacs集成在一起。

2.来自http://findbugs.sourceforge.net/的 FindBug

执照:L-GPL

FindBugs,该程序使用静态分析来查找Java代码中的错误。 由于这是我的校友大学(IEEE –马里兰大学,学院公园– Bill Pugh)的一个项目,因此,我必须在此列表中添加此贡献。

3.来自http://www.cenqua.com/clover/的三叶草

许可证:开源免费(更像GPL)

测量语句,方法和分支的覆盖范围,并具有XML,HTML和GUI报告。 以及适用于主要IDE的全面插件。

*提高测试质量
*提高测试效率
*使团队步入正轨

NetBeans,Eclipse,IntelliJ IDEA,JBuilder和JDeveloper的完全集成的插件。 这些插件使您无需离开IDE就可以测量和检查覆盖率结果。

使用Apache Ant和Maven与项目无缝集成。 *通过命令行界面和API轻松集成到旧版构建系统中。

快速,准确,可配置,详细的方法,语句和分支覆盖率报告。

HTML,PDF,XML或Swing GUI中的丰富报告

使用源级过滤对覆盖范围收集进行精确控制。

代码覆盖率和其他指标的历史图表。

与JUnit 3.x和4.x,TestNG,JTiger和其他测试框架完全兼容。 也可以与手动,功能或集成测试一起使用。

4.来自http://innig.net/macker/的 Macker

执照:GPL

Macker是Java开发人员的构建时体系结构规则检查实用程序。 它旨在对程序员始终梦dream以求的项目的构架理想进行建模,然后打破-这有助于保持代码的清洁和一致。 您可以定制规则文件以适合特定项目的结构,或者为代码编写一些通用的“良好实践”规则。 Macker不会试图将别人的规矩推到您的喉咙上。 它非常灵活,并且编写规则文件是每个唯一项目的开发过程的一部分。

5来自http://emma.sourceforge.net/的 EMMA

许可证:EMMA是根据通用公共许可证v1.0发行的,因此对于开源和商业开发都是免费的。

报告类,方法,基本块和行覆盖率(文本,HTML和XML)。

EMMA可以离线(加载之前)或在运行中(使用检测应用程序类加载器)检测覆盖的类。

支持的覆盖率类型:类,方法,行,基本块。 EMMA可以检测到仅部分覆盖单个源代码行。

覆盖范围统计信息按方法,类,包和“所有类”级别汇总。

输出报告类型:纯文本,HTML,XML。 所有报告类型均支持深入到用户控制的详细信息深度。 HTML报告支持源代码链接。

输出报告可以突出显示覆盖范围低于用户提供的阈值的项目。

在不同的仪器或测试运行中获得的覆盖率数据可以合并在一起。

EMMA不需要访问源代码,并且会随着输入类中可用调试信息量的减少而正常降级。

EMMA可以检测单个.class文件或整个.jars(如果需要,可以放置)。 有效的覆盖范围子集过滤也是可能的。

支持Makefile和ANT构建集成。

EMMA相当快:添加的工具的运行时开销很小(5-20​​%),字节码工具本身也非常快(主要受文件I / O速度限制)。 每个Java类的内存开销为几百个字节。

EMMA是100%纯Java,没有外部库依赖性,并且可以在任何Java 2 JVM(甚至1.2.x)中运行。

6.来自http://xradar.sourceforge.net/的 XRadar

许可证:BSD(我认为)

XRadar是一个开放的可扩展代码报告工具,当前支持所有基于Java的系统。 批处理框架生成有关系统当前状态和随着时间的发展HTML / SVG报告,所有报告都以性感的表格和图形表示。

XRadar提供了对标准软件度量的度量,例如软件包度量和依存关系,代码大小和复杂性,代码重复,违反代码和违反代码样式的行为。

7. Hammurapi集团的Hammurapi

许可证:(如果有人知道此电子邮件的许可证,请告诉我们)

Hammurapi是用于执行Java程序代码的自动检查的工具。 以Hammurabi代码的282条规则为例,为我们提供了120多个Java类,即所谓的检查器,它们可以在三个级别(源代码,程序包,Java文件的存储库)说明已分析的源代码是否包含违规行为。普遍接受的编码标准。

相关链接:

http://en.sdjournal.org/products/articleInfo/93

http://wiki.hammurapi.biz/index.php?title=Hammurapi_4_Quick_Start

8.从http://www.workingfrog.org/救济

执照:GPL

Relief是一种设计工具,可为Java项目提供新的外观。 依靠我们通过检查真实对象的形状,大小或在空间中的相对位置来处理真实对象的能力,它可以对Java包,类型和字段及其关系提供“物理”视图,从而使它们更易于处理。

9.来自http://hudson-ci.org/的 Hudson

执照:麻省理工学院

Hudson是用Java编写的持续集成(CI)工具,可在servlet容器(例如Apache Tomcat或GlassFish应用程序服务器)中运行。 它支持SCM工具,包括CVS,Subversion,Git和Clearcase,并且可以执行基于Apache Ant和Apache Maven的项目,以及任意的shell脚本和Windows批处理命令。

10.来自http://cobertura.sourceforge.net/的 Cobertura

许可证:GNU GPL

Cobertura是一个免费的Java工具,可计算测试访问的代码的百分比。 它可以用来识别Java程序的哪些部分缺少测试覆盖范围。 它基于jcoverage。

11.来自http://www.sonarsource.org/的 SonarSource

执照:LGPL

Sonar是一个用于管理代码质量的开放平台。 这样,它涵盖了代码质量的7个轴:

体系结构和设计,重复项,单元测试,复杂性,潜在错误,编码规则,注释。

随时在评论部分中建议您自己的工具。

参考: JCG合作伙伴提供的 用于源代码优化和分析的Java工具 Our Tech Stop博客上

相关文章 :

翻译自: https://www.javacodegeeks.com/2011/07/java-tools-source-code-optimization-and.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值