FindBugs、PMD和CheckStyle对比
来源:互联网 发布:淘宝代运营协议 编辑:程序博客网 时间:2024/06/08 10:50
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
1
2
FindBugs 大多数提示有用,值得改
1. 配置无查找功能,不过缩写能让我们很快找到某个规则
2. 提供图形界面的独立程序,对jar进行检测,有报告生成,非常方便
3. 很多功能插件没有实现,可独立使用FindBugs,但没法同时修改源码
² 插件bug替代法: 使用独立的FindBugs设置规则,然后到C:\Documents and Settings\XXX\下找.Findbugs_prefs,然后改名覆盖Eclipse Project下的.fbprefs (先关闭你的Project)
3. PMD
3
比较严格
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插件目录。
- FindBugs、PMD和CheckStyle对比
- FindBugs、PMD和CheckStyle对比
- FindBugs、PMD和CheckStyle对比
- FindBugs、PMD和CheckStyle对比
- FindBugs PMD 和CheckStyle对比
- Checkstyle, PMD, Findbugs对比
- Checkstyle, PMD, Findbugs对比
- 代码质量检测工具FindBugs、PMD和CheckStyle对比
- myeclipse 安装checkstyle, findbugs 和pmd
- java进阶(三)------java编程规范---代码质量检测工具FindBugs、PMD和CheckStyle对比
- ant结合findBugs,PMD,checkStyle
- checkStyle、findbugs、PMD各自特点
- 代码检测工具(一)FindBugs、PMD和CheckStyle概况、安装
- 如何更好地利用Pmd、Findbugs和CheckStyle分析结果
- checkstyle pmd findbugs工具比较(转)
- Findbugs、PMD、CheckStyle使用分析报告
- mvn checkstyle/findbugs/pmd 插件使用
- eclipse安装checkstyle、PMD、FindBugs、VisualVM
- Eclipse显示空白符,如空格、制表符、换行符等
- ajax -jsonp
- 安卓属性动画
- iOS 向后台发送json数据
- Java基础:Thread的生命周期
- FindBugs、PMD和CheckStyle对比
- github的使用教程
- Android官方开发文档Training系列课程中文版:手势处理之ViewGroup的事件管理
- HDU 5831 Rikka with Parenthesis II(栈的使用)
- checkstyle参考资料
- Oracle 12C Study--RMAN新特性-基于表时间点恢复
- Windows Maven(nexus) 服务器、私服搭建
- 用H5中的Canvas等技术制作海报
- Java enum的用法详解