11 款用于优化、分析源代码的Java工具


======================================================
注:本文源代码点此下载
======================================================

本文将提供一些工具,帮助你优化代码以及检查源代码中的潜在问题。

1. pmd from http://pmd.sourceforge.net/

pmd能够扫描java 源代码,查找类似以下的潜在问题:

可能的bug——try/catch/finally/switch语句中返回空值。

死代码——未使用的局部变量、参数、私有方法。

不理想的代码——使用string/stringbuffer。

过于复杂的表达式——没有必要使用if语句、while循环可以代替for循环。

重复代码——复制/粘贴的代码引发的bug。 pmd集成了jdeveloper, eclipse, jedit, jbuilder, bluej, codeguide,netbeans/sun java studio enterprise/creator, intellij idea, textpad,maven, ant, gel, jcreator, 以及 emacs。

2. findbug from http://findbugs.sourceforge.net

findbug是一个使用静态方法来查找java代码漏洞的程序。

3.clover from http://www.cenqua.com/clover/

这个插件允许你在不离开ide的环境条件下来衡量和检测覆盖效果。该插件通过使用apache ant、maven来无缝集成其它项目,可以通过命令行界面和api系统轻松集成到传统的构建系统中。

该插件的特性:

支持快速、准确、可配置的方法,语句等。

支持丰富的报告格式:html、pdf、xml、以及swing gui。

精确控制源代码级别的过滤。

支持代码覆盖以及其它指标的图表。

完全兼容junit 3.x & 4.x, testng, jtiger以及其它的测试框架。 4. macker from http://innig.net/macker/

macker是一个适用于java开发人员用来检查架构规则的工具。你可以定制一个适合特定项目架构的规则文件,也可以为您的代码撰写通用的规则说明。

5. emma from http://emma.sourceforge.net/

emma支持的覆盖类型:方法、类等。

输出报告的格式为:文本、html、xml。

输出报告可以高亮显示某些项目。

emma不需要访问源代码,可以在输入类中减少调试的信息。 6. xradar from http://xradar.sourceforge.net/

xradar是一个开放的、为代码生成可扩展报告的工具。目前支持基于java的所有系统。批量处理的框架可以用来生成html/svg系统的报告。xradar可以估量代码的大小、复杂性以及代码的重复性、依赖性等。

7. hammurapi from http://www.hammurapi.com

hammurapi是一款执行java程序代码的自动检测工具。提供的实例中含有282条hammurapi代码规则,提供了120多个java类,这款所谓的检测工具,可以从三个级别来检测代码是否违背了编码标准。

8. relief from http://www.workingfrog.org/

relif是一款设计工具,为java项目提供了崭新的面貌。我们可以充分发挥自己的能力来处理真实的实例——通过检测大小、形状、关系等来简化处理过程。

9. hudson from http://hudson-ci.org/

hudson 是一个持续集成工具,使用java编写,运行在servlet容器中,比如apachetomcat或者或glassfish应用服务器。它支持scm工具,包括cvs、subversion、git和clearcase。它可以执行 apache ant、基于apache maven的项目、以及任意的shell脚本和 windows批处理命令。

10. cobertura fromhttp://cobertura.sourceforge.net/

cobertura是一个免费的基于jcoverage的java工具,用于计算代码被测试访问的百分比,它可以被用来确定java程序中的缺少部分的测试覆盖率。

11. sonarsource from http://www.sonarsource.org/

sonar是一个管理代码质量的开放平台。因此,它涵盖了代码质量的7个方面:架构与设计、重复、单元测试、复杂性、潜在错误、编码规则、评论。

英文原文:http://java.dzone.com/articles/java-tools-source-code


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值