Modify Your Codes with PMD(1)

采用开源的PMD工具来检查Java源代码,提高代码质量。本文讲述如何使用PMD的JBuilder插件,将PMD工具和代码检查的方法嵌入到Java团队开发工具或开发过程中。

 

1.代码质量检查的必要性

略(我知道还有人想就此抬杠)

2.Java项目可采用的提高代码质量的工具

我所了解和尝试过的Java项目可采用的代码检查工具(全是开源的):

FindBugs:  http://findbugs.sourceforge.net 静态代码分析工具

CheckStyle:  http://checkstyle.sourceforge.net 静态代码分析工具

PMD: http://pmd.sourceforge.net 静态代码分析工具

JUnit: http://www.junit.org 单元测试工具

以上工具都可以与Ant结合使用,并可以集成到Eclipse中。

FindBugsPMDCheckStyle都提供开发团队自定义检查规则的可能,通过团队自己的开发,可使这些工具按照开发团队自身的规范来检查代码。

多罗嗦两句:

FindBugsPMD都是以分析Java代码本身为主要功能,而Checkstyle则以分析格式为主。软件工程中对代码质量的定义往往不只是对代码编写的要求,JavaDoc或代码中的注释也是也属于代码质量检查的范围,用FindBugsPMD就不行了,用CheckStyle吧。

单就Java代码(非注释、非JavaDoc)检查来看,FingBugsPMD也不同:

FingBugs分析的对象是*.class文件,而PMD的分析对象*.java源代码。分析原理当然也不同了:FindBugs是以字节码设计库(Code Engineering Library)为基础的,欲自行编写需熟练掌握字节码设计库,这是另一个开源项目(http://jakarta.apache.org/bcel/),牛人们看看吧。PMD则是基于抽象语义树(ASTAbstract Syntax Tree)的,即:将Java源代码根据其语义分析为由若干语义节点(Node)的树状结构,PMD根据AST上各节点之间的关系来分析代码中错误或不符合规范的地方。

3.下载安装和使用PMD

PMD工具以及源码可以在其项目首页上下载到,针对各种Java IDE的插件也以下载到,我下了个JBuilder的插件――pmd-jbuilder-1.2.zip。下载后将zip4*.jar文件拷入Jbuilder…/lib/ext目录下,然后重启JBuilder

重启Jbuilder后,Jbuilder的工具条栏会出现有关PMD的三个工具条按钮:

PMD Check File--PMD检查当前*.java源代码文件;

PMD Check Project--PMD检查当前Java工程中的所有*.java文件;

CPD Check Project--PMD中的CPD工具检查当前Java工程中copy/paste的代码

点击“PMD Check File”试一下,PMD会根据其已经内建的规则(PMD称之为Rule)检查当前*.java源代码文件中的不符合规范(或是不够优化)的地方,每一处均给出所在行号和简单说明。开发人员可以根据其提示进行改进或优化。我查了一下我最近的代码,还真不少,有些错误的确有可能引起严重后果。感谢PMD

4.总结

PMD是工具,不是方法。开发团队在提高代码质量的努力中需要这样的工具来支持。PMD不但内建若干代码检查的规则(Rule),还可以自行开发(如前面第2节所提到的)规则。下一次,我会分享我自行开发PMD代码检查规则的全过程。希望朋友们多来指教!谢谢!

 

系列之2:Modify Your Codes with PMD(2)

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值