Java-idea-FindBugs、PMD和CheckStyle对比

一、对比

工具

目的

检查项

备注

FindBugs

检查.class

基于Bug Patterns概念,查找javabytecode

(.class文件)中的潜在bug

主要检查bytecode中的bug patterns,如NullPoint空指针检查、

没有合理关闭资源、字符串相同判断错(==,而不是equals)等

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

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

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

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

PMD

检查源文件

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

主要包括:

空try/catch/finally/switch语句块

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

空if/while语句

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

复杂类

 

比较严格

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

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

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

CheckStyle

检查源文件

主要关注格式

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

主要包括:

Javadoc注释

命名规范

多余没用的Imports

Size度量,如过长的方法

缺少必要的空格Whitespace

重复代码

 

 

原文地址:https://www.cnblogs.com/bjlhx/p/6758335.html