FindBugs、PMD和CheckStyle对比
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
FindBugs 大多数提示有用,值得改
1. 配置无查找功能,不过缩写能让我们很快找到某个规则
2. 提供图形界面的独立程序,对jar进行检测,有报告生成,非常方便
3. 很多功能插件没有实现,可独立使用FindBugs,但没法同时修改源码
² 插件bug替代法: 使用独立的FindBugs设置规则,然后到C:\Documents and Settings\XXX\下找.Findbugs_prefs,然后改名覆盖Eclipse Project下的.fbprefs (先关闭你的Project)
MyEclipse安装Findbug插件
下载地址:http://sourceforge.net/projects/findbugs/files/
将Findbug的插件包,直接复制到MyEclipse 8.5 的安装目录下面的dropins中,重启MyEclipse
3. PMD
比较严格
1. 独立的程序是命令行形式操作
2. 插件可以配置规则,有独立显示问题的视图,也很方便
3. 一般来说,需要自定义规则才通过检验
3.1 Eclipse在线安装PMD插件
1.打开Help – Software Updates – Find and Install |
2.选择第二项,Next |
3.点击New Remote Site,按图示输入 |
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使用修改代码
安装CheckStyle插件
下载地址:http://sourceforge.net/projects/eclipse-cs/files/Eclipse%20Checkstyle%20Plug-in/。
将checkstyle插件包,直接复制到MyEclipse 8.5 的安装目录下面的dropins中,重启MyEclipse
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这三种静态代码分析工具的特点、功能及其应用场景,并对比它们之间的差异,帮助开发者更好地理解这些工具的优势与局限性,从而在实际开发中做出更合适的选择。 #### 二、...
Jenkins 中 FindBugs、PMD、CheckStyle 和 Violations 静态分析工具安装配置 Jenkins 是一个流行的自动化构建和 Continuous Integration(CI)工具,通过安装和配置静态分析工具,可以对 Java 代码进行检测和改进。...
本知识点主要聚焦于如何在Gradle构建平台上集成Findbugs、Checkstyle、PMD这三种流行的静态代码检查工具。 **Gradle平台集成静态代码检查** **1. 静态代码检查工具简介** - **Findbugs**:这是一个分析Java字节码...
这些插件分别对应了Checkstyle、PMD和FindBugs三个著名的开源工具,它们各自关注代码的不同方面,以帮助开发者遵循最佳实践,提高代码质量。 Checkstyle是一款静态代码分析工具,主要关注代码风格和编码规范。它...
总的来说,了解并掌握PMD、FindBugs和CheckStyle,不仅可以提高个人编程技能,还能对整个团队的代码质量和开发效率产生积极影响。通过持续的代码静态检查,开发者可以编写出更健壮、更易于维护的软件。
checkstyle findbugs pmd svn-subversion(SVN客户端插件) pde-explorer(文件浏览器,在工程中选中某一文件夹,右键open in explorer) 插件合集 安装: 将压缩包解压进eclipse安装目录中,修改dropins中xxx.txt中...
checkstyle findbugs pmd 插件合集 附送一个open in explorer插件,在工程目录右键有个open in eplorer菜单,直接定位到文件夹 安装方法 将压缩包解压到eclipse目录下, 将mylink.txt(可随意修改名字)修改路径后...
`findbugs`(现称为`Spotbugs`)、`PMD`和`Checkstyle`是三个著名的Java静态代码分析工具,它们可以帮助开发者发现潜在的错误、提高代码质量并确保代码遵循特定的编程标准。 1. **Findbugs/Spotbugs**: - `...
myeclipse 和 eclipse 集成插件
`FindBugs`、`Checkstyle` 和 `PMD` 是三个著名的 Java 代码静态分析工具,它们帮助开发者发现并修复代码中的潜在问题,提高代码质量。 `FindBugs` 是一个静态分析工具,它可以检测出 Java 代码中可能存在的错误和...
本文将详细讲解三个重要的Eclipse插件:Checkstyle、FindBugs和PMD,以及它们在提升代码质量方面的功能和应用。 Checkstyle是一款静态代码分析工具,主要用于检查代码是否遵循特定的编程规范,如Google编码规范或...
通过以上介绍,我们可以看出Checkstyle、PMD和FindBugs在Java开发中的重要性,它们是保障代码质量的有效工具。在Eclipse环境中集成这些插件,能帮助开发者在编写代码的同时,实时发现并修正问题,从而提高开发效率和...
总结而言,通过上述步骤可以在Eclipse中更新Checkstyle、PMD及FindBugs的规则集,并有效地利用这些工具提高代码质量。这些工具不仅可以帮助开发者遵循一致的编码标准,还可以及时发现潜在的bug,提高软件开发的效率...
PMD则侧重于检查Java源代码中的潜在问题,如冗余代码和不规范的编程习惯,而CheckStyle则主要用于确保代码遵循特定的编码规范,如Javadoc注释、命名规则和导入顺序等。虽然这三者各有侧重点,但它们都能提供Eclipse...
为了确保代码的高质量,开发者通常会使用一系列的工具来检查代码,其中CheckStyle、PMD和FindBugs是非常著名的三个开源工具。这些工具在Myeclipse10及2014版本中都有相应的插件支持,帮助开发者在编码阶段就发现潜在...
总结来说,PMD、CheckStyle和FindBugs各有特点,它们共同的目标是提高代码质量,减少潜在问题。PMD以其灵活的自定义规则脱颖而出,CheckStyle注重代码风格的一致性,而FindBugs则擅长在字节码层面找出潜在的运行时...
MVVM-Architecture-Android 这是一个简单的Android项目,涉及以下内容1.MVVM体系结构2.关注点分离3.单元测试4.代码质量工具(Findbugs,PMD,Checkstyle) 使用过的库RxJava Dagger2 Jetpack导航改造
为了实现这一目标,开发者通常会使用各种静态代码分析工具,如Checkstyle、FindBugs和PMD。这些工具可以帮助识别潜在的问题,确保代码的可读性、可维护性和一致性。Gradle作为Android的构建系统,提供了集成这些静态...
3. **SonarQube**:SonarQube是一个全面的代码质量管理平台,它包含了PMD、FindBugs、Checkstyle等工具的功能,并提供了更丰富的集成和管理能力。 通过合理使用PMD,开发者可以在早期阶段发现并修复代码问题,避免...
本文将介绍三种常见的代码走查工具:FindBugs、PMD和CheckStyle,它们在帮助提升代码质量方面起到了重要作用。 1. **FindBugs** FindBugs是一款静态分析工具,能够检测Java代码中的潜在错误和不良编程习惯。它通过...