DarkMatter in Cyberspace
  • Home
  • Categories
  • Tags
  • Archives

使用PMD检查代码质量


Eclipse插件方式

安装

PMD的eclipse插件有两个,一个是官网上Plugins->Eclipse Plugins链接指向的页面,安装说明里只给出了在线安装的方法(update link是http://sourceforge.net/projects/pmd/files/pmd-eclipse/update-site/),没有说明离线安装怎么做,这两天sourceforge.net被墙了,只能在eclipse里用代理安装这个插件。

另外还有一个开源项目叫pmd-eclipse,提供离线安装包,解压到dropins目录后能使用,但没有规则配置和文件过滤选项,也没有结果汇总视图,不要用这个插件。

使用

配置

插件装好后在Preference->PMD下会有几个子项目,包括"Rule Configuration"中选择代码检查规则,"File Filters"里指定被检查文件的范围等。这里配置的是全局规则。

配置规则时首先在group by中选择Rule set,这样查找起来比较方便,然后再选择具体哪项检查规则,如下图:

项目属性->PMD下也可以选择规则,但没提供“全部选中/取消”按钮,300多项规则要一个一个选,太麻烦,别用了。

检查

右键->PMD->Check Code就开始检查了,检查完自动打开PMD Perspective,在"Violations Overview"里显示汇总结果,如果要修改检查规则重新检查,并且不想保留就结果,"右键被检查项目 -> PMD -> Clear Violations"清除之前的结果,否则新旧结果会被叠加在一起。

生成检查报告

首先在Preference->PMD->Reports下选择生成报告的格式(只有text格式可用,其他格式运行时都报空指针异常),然后"右键被检查项目 -> PMD -> Generate Reports",在项目根目录下会生成一个reports文件夹,里面是检查报告。

命令行方式

E:\workspace\JDK6UTF8\Godu3NewBuffer>d:\Apps\pmd-bin-5.0.1\bin\pmd.bat -d src -f html -R rulesets/java/codesize.xml > out.html

-d后面写被检查的目录(或者文件),-f后面写输出文件的格式,-R后面是规则名称,实际这些规则保存在$PMD_HOME/lib/pmd-5.0.1.jar/rulesets/java中;

总结

PMD和Checkstyle的eclipse插件都提供了比较好的实时代码质量监控能力,PMD提供的结果汇总面板使开发人员可以对项目代码整体质量有一个把握,生成报告功能也很实用,而CheckStyle为每一个项目定制configuration的方法在不同项目应用不同规则时特别方便,适合在开发过程中“实时监控”(见笔记“ 使用CheckStyle检查代码复杂度 ”)。

本文使用markdown语法。



Published

Mar 20, 2013

Last Updated

Mar 20, 2013

Category

Tech

Tags

  • Java 106
  • pmd 1

Contact

  • Powered by Pelican. Theme: Elegant by Talha Mansoor