checkStyle、findbugs、PMD各自特点

本文对比了FindBugs、PMD和CheckStyle三个Java代码质量检查工具的特点和使用场景。FindBugs专注于字节码层面的潜在bug查找;PMD关注源代码中的潜在问题,如空语句块和复杂表达式;CheckStyle则侧重于检查源代码是否符合代码规范。
摘要由CSDN通过智能技术生成

这三个工具检查的侧重点各有不同: 

工具

目的

主要检查内容

FindBugs

基于Bug Patterns概念,查找java bytecode中的潜在bug。在目前版本中,它不检查java源文件。

主要检查bytecode中的bug patterns,也允许用户自定义特定的bug patterns

PMD

检查java源文件中的潜在问题。

主要包括:

  -  try/catch/finally/switch语句块

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

 -       if/while语句

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

 -       复杂类

CheckStyle

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

主要包括

 -       Javadoc注释

 -       命名规范

 -       Headers

 -       Imports

 -       Size冲突和度量,如过长的方法

 -       Whitespace

 -       Modifiers

 -       Blocks

 -       Coding Problems

 -       Class Design

 -       重复代码

 -       Miscellaneous Checks

 -       Optional Checks



FindBugs 

大多数提示有用,值得改

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

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

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

 

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


PMD 

比较严格

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

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

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


checkStyle

过于严格

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

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

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值