FindBugs、PMD和CheckStyle对比

 

FindBugs、PMD和CheckStyle对比

1.     概要

工具

目的

检查项

FindBugs

检查.class

基于Bug Patterns概念,查找javabytecode(.class文件)中的潜在bug

主要检查bytecode中的bug patterns,如NullPoint空指针检查、没有合理关闭资源、字符串相同判断错(==,而不是equals)等

PMD

检查源文件

检查Java源文件中的潜在问题

主要包括:

空try/catch/finally/switch语句块

未使用的局部变量、参数和private方法

空if/while语句

过于复杂的表达式,如不必要的if语句等

复杂类

CheckStyle

检查源文件

主要关注格式

检查Java源文件是否与代码规范相符

主要包括:

Javadoc注释

命名规范

多余没用的Imports

Size度量,如过长的方法

缺少必要的空格Whitespace

重复代码

 

【注】以上工具支持Eclipse3.3及更高版本,不支持与Leaf集成

2.     FindBugs

FindBugs 大多数提示有用,值得改

1.        配置无查找功能,不过缩写能让我们很快找到某个规则

2.        提供图形界面的独立程序,对jar进行检测,有报告生成,非常方便

3.        很多功能插件没有实现,可独立使用FindBugs,但没法同时修改源码

 

²       插件bug替代法: 使用独立的FindBugs设置规则,然后到C:\Documents and Settings\XXX\下找.Findbugs_prefs,然后改名覆盖Eclipse Project下的.fbprefs (先关闭你的Project)

 

3.     PMD

比较严格

1.        独立的程序是命令行形式操作

2.        插件可以配置规则,有独立显示问题的视图,也很方便

3.        一般来说,需要自定义规则才通过检验

 

3.1  Eclipse在线安装PMD插件

1.打开Help – Software Updates – Find and Install

2.选择第二项,Next

3.点击New Remote Site,按图示输入

URL:http://pmd.sf.net/eclipse

 

3.2  配置PMD规则

 1.Window->Preference->PMD->Rules configuration

2. 点击“clear all”先清空默认的规则,然后点击“Import rule set”,找到allLevel.xml导入,点击“Apply”,“Ok”返回。

3. 选择工程属性,选PMD

4.        选择Enable PMD,就可以启动PMD(可以根据需要选择需要哪些规则)

 

5.        点击“ok”返回。Eclipse会自动重新编译文件(速度可能非常慢),为了提高编译速度,在工程属性中可以不启用PMD,而是手工启动PMD

 

6.        在工程属性中,不选择 Enable PMD,在资源浏览器中选择包或者类文件,点击右键,选择PMD,选择Check code with PMD,这样就只检查此包或类文件。

7.        打开PMD视图

   Window->Show view->Others…

   选择PMD->PMD violations

8.        查看检查结果

  PMD violations 视图显示的即为检查结果。allLevel的规则文件只分两级(PMD默认为5级),点击视图右上角中的1,或者2可以查看不同级别的voilations。(按钮按下去表示显示此级别的voilations)

9.     CheckStyle

过于严格

1.        按照Sun的规范太严格了,需要自定义规则

2.        插件自定义规则没有查找功能,查找规则麻烦

3.        只能做检查,不能修改代码,可配合Jalopy使用修改代码

 

可参考以下文档进行学习使用:

 

 

4.     附录

4   

4.1  三种Eclipse插件安装方式

1.        使用Eclipse的菜单栏 Help -> SoftwareUpdates -> Find and install... -> search for new features...  ->输入软件安装地址进行安装

 

2.        下载插件文件,将其解压缩到Eclipse对应的目录中。重新启动Eclipse,如果插件不能升效,则请将eclipse\configuration\org.eclipse.update目录删除后再启动Eclipse。

 

3.        links文件方式。举例说明

以veloeclipse为例,D:\Jwork\Eclipse为你的Eclipse目录

将插件放置于D:\Jwork\eclipse_plugins\veloeclipse文件夹

新建文件D:\Jwork\eclipse\links\veloeclipse.link

文件内容:path=D:\\Jwork\\eclipse_plugins\\veloeclipse。

重新启动eclipse,安装完成。

 

推荐第三种安装方式,这样可以把你的eclipse插件放在一个独立的目录统一管理,多个Eclipse均可以指向这个eclipse插件目录。

 

 

 

 

 

 

 

                                            

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大龄牛码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值