一、概念
IDEA的代码检查插件:QAPlug,包含了QAPlug-Checkstyle、QAPlug-FindBugs、QAPlug-PMD 3个插件的功能,1键运行3个同时汇总整合,非常方便。
名称 | 定义 | 问题 |
FindBugs | 只寻找可能存在bug的地方,不注重样式或者格式,它试图只寻找真正的缺陷或者潜在的性能问题。 | 主要包括: 1、空指针; 2、没有合理关闭资源; 3、字符串相等判断错(用了==而没用equals)等; |
CheckStyle | 代码样式风格检查,专门check代码规范风格的,比如缩进,换行操作,命名大项目往往是有很多人一起完成的,然而每个人都有自己的style,导致整个项目的代码不仅存在不符合语言规范的情况,而且读起来非常困难。因此,这样的项目中都会引入Checkstyle,来规范大家的编码风格,尽量做到统一和合理。 | 主要包括: 1、Javadoc注释; 2、命令规范; 3、多余没用的imports; 4、长度度量,如过长的方法; 5、必要空格的缺失; 6、重复代码等; |
PMD | 检查源文件中的潜在问题;与findbug类似找bug用,还有规范,比如说注释不全。 | 主要包括: 1、空的try/catch/finally/switch语句块; 2、程序中定义而未使用的变量、private方法; 3、空的if/while语句; 4、过于复杂的表达式,如不必要的if语句等; 5、复杂类; 6、不必要的对象创建等; |
二、下载
安装后重启软件(idea)
三、使用
右键项目(单独文件)选择 “Analyze” ==> “Analyze Code”
四、结果分析
运行后可看到左下角多了一个“Analysis”的工具标识,点击可看到历史的分析记录
Efficiency | 效能。主要从 “Performance” 性能角度给出指导意见 |
Maintainability | 可维护性。主要从 “Bad practice”不良实践角度给出指导意见 |
portability | 可移植性。 |
Reliability | 可靠性。从 “Correctness” 正确性、“Malicious code vulnerability” 恶意代码漏洞等角度给出指导意见 |
Usability | 可用性。主要从 “Dodgy”狡猾的角度给出指导意见 |
五、规则参考
- FindBugs 规则链接参考:Findbugs规则整理 - JavaShuo
- CheckStyle 规则链接参考:http://www.javashuo.com/article/p-gmjoiyou-nn.html
- PMD 规则链接参考:https://blog.csdn.net/jack0511/article/details/5260751 (自行判断规则集)