代码质量检测工具FindBugs、PMD和CheckStyle对比
2017-10-11 16:22
567 查看
我们在开发过程中会发现我们并没有太多的时间来进行代码检查和review,不过我们可以通过工具来自动进行代码的检查,提高工作效率。FindBugs、PMD和CheckStyle这三个工具就是这样的目的。使用这三种工具能让我们写出更规范的代码,提高我们代码的性能。
这三款工具对代码检查的侧重点是有区别的,我们现在来了解一下它们的区别:
Checkstyle插件中默认内置有2个执行代码检查的配置文件:Sun Checks、Sun Checks(Eclipse)。但是这两个文件检查的非常详细,即使优秀的开源项目也会检查出来有非常多的错误告信息,所以需要导入我们自己编写的配置文件。
要编写规则配置文件 必须先了解规则。
checkstyle
详解CheckStyle的检查规则(共138条规则)
checkstyle官网:http://checkstyle.sourceforge.net/
基于华为java编程规范的checkstyle.xml以及格式化模版,注释模版
findbugs
Findbug官网地址:http://findbugs.sourceforge.net/
FindBugs的详细bug描述清单见:http://findbugs.sourceforge.net/bugDescriptions.html
这三款工具对代码检查的侧重点是有区别的,我们现在来了解一下它们的区别:
工具 | 目的 | 检查项 | 特点 |
FindBugs | 检查.class 基于Bug Patterns概念,查找javabytecode(.class文件)中的潜在bug | 主要检查bytecode中的bug patterns,如NullPoint空指针检查、没有合理关闭资源、字符串相同判断错(==,而不是equals)等 | FindBugs 大多数提示有用,值得改 配置无查找功能,不过缩写能让我们很快找到某个规则 提供图形界面的独立程序,对jar进行检测,有报告生成,非常方便 很多功能插件没有实现,可独立使用FindBugs,但没法同时修改源码 |
PMD | 检查源文件 检查Java源文件中的潜在问题 | 主要包括: 空try/catch/finally/switch语句块 未使用的局部变量、参数和private方法 空if/while语句 过于复杂的表达式,如不必要的if语句等 复杂类 | 比较严格 独立的程序是命令行形式操作 插件可以配置规则,有独立显示问题的视图,也很方便 一般来说,需要自定义规则才通过检验 |
CheckStyle | 检查源文件 主要关注格式 检查Java源文件是否与代码规范相符 | 主要包括: Javadoc注释 命名规范 多余没用的Imports Size度量,如过长的方法 缺少必要的空格Whitespace 重复代码 | 过于严格 按照Sun的规范太严格了,需要自定义规则 插件自定义规则没有查找功能,查找规则麻烦 只能做检查,不能修改代码,可配合Jalopy使用修改代码 |
要编写规则配置文件 必须先了解规则。
checkstyle
详解CheckStyle的检查规则(共138条规则)
checkstyle官网:http://checkstyle.sourceforge.net/
基于华为java编程规范的checkstyle.xml以及格式化模版,注释模版
findbugs
Findbug官网地址:http://findbugs.sourceforge.net/
FindBugs的详细bug描述清单见:http://findbugs.sourceforge.net/bugDescriptions.html
相关文章推荐
- java进阶(三)------java编程规范---代码质量检测工具FindBugs、PMD和CheckStyle对比
- java进阶(三)------java编程规范---代码质量检测工具FindBugs、PMD和CheckStyle对比
- java进阶(四)------java编程规范---代码质量检测工具FindBugs、PMD和CheckStyle的安装
- java进阶(四)------java编程规范---代码质量检测工具FindBugs、PMD和CheckStyle的安装
- idea,配置checkstyle 【提高代码质量,检查代码规范的工具 】Checkstyle,FindBugs,PMD,Jtest
- Checkstyle, FindBugs, PMD, VisualVM四种代码检测工具的比较与相关心得
- idea,配置checkstyle 【提高代码质量,检查代码规范的工具 】Checkstyle,FindBugs,PMD,Jtest
- 如何利用工具提高你的Android代码质量(Checkstyle、Findbugs、PMD)
- 代码检测工具箱——checkstyle、findbugs、pmd-cpd
- 有效检查Java代码的工具:PMD、Checkstyle、findbugs、Jalopy
- 如何提高android代码的质量(CheckStyle、Findbugs、PMD、Lint)
- 代码走查工具FindBugs, PMD,CheckStyle
- 干货!Jenkins下配置findbugs、pmd及checkstyle实现代码自动检测
- [转] Java代码质量检测评估工具-PMD
- 如何提高android代码的质量(CheckStyle、Findbugs、PMD、Lint)
- Java代码质量检测评估工具-PMD
- 代码静态分析工具--PMD,Findbugs,CheckStyle
- Java代码质量检测评估工具-Findbugs
- Docker+Jenkins持续集成环境(3)集成PMD、FindBugs、Checkstyle静态代码检查工具并邮件发送检查结果
- 代码检测工具箱——checkstyle、findbugs、pmd-cpd