`
onlyor
  • 浏览: 381181 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

FindBugs、PMD和CheckStyle对比

    博客分类:
  • java
阅读更多

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,按图示输入

 

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使用修改代码

 

 

安装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插件目录。

分享到:
评论

相关推荐

    Jenkins中FindBugs、PMD、CheckStyle和Violations静态分析工具安装配置

    Jenkins 中 FindBugs、PMD、CheckStyle 和 Violations 静态分析工具安装配置 Jenkins 是一个流行的自动化构建和 Continuous Integration(CI)工具,通过安装和配置静态分析工具,可以对 Java 代码进行检测和改进。...

    Gradle平台集成静态代码检查(findbugs,pmd,checkstyle)

    - 在项目的根目录下的build.gradle文件中引入Findbugs、Checkstyle和PMD的插件。 - 添加相应的依赖到buildscript.repositories中,并在dependencies中添加相应的classpath。 - 创建并配置具体执行静态代码检查的task...

    checkstyle+pmd+findbugs插件

    这些插件分别对应了Checkstyle、PMD和FindBugs三个著名的开源工具,它们各自关注代码的不同方面,以帮助开发者遵循最佳实践,提高代码质量。 Checkstyle是一款静态代码分析工具,主要关注代码风格和编码规范。它...

    代码静态检查 PMD findBugs checkStyle

    在本篇文章中,我们将聚焦三个知名的代码静态检查工具:PMD、FindBugs和CheckStyle。 **PMD** PMD是一款开源的Java源代码分析器,它能够检测出可能的问题,如未使用的变量、空的捕获块、复杂的表达式等。PMD通过...

    checkstyle findbugs pmd svn插件合集

    checkstyle findbugs pmd svn-subversion(SVN客户端插件) pde-explorer(文件浏览器,在工程中选中某一文件夹,右键open in explorer) 插件合集 安装: 将压缩包解压进eclipse安装目录中,修改dropins中xxx.txt中...

    checkstyle findbugs pmd 插件合集

    checkstyle findbugs pmd 插件合集 附送一个open in explorer插件,在工程目录右键有个open in eplorer菜单,直接定位到文件夹 安装方法 将压缩包解压到eclipse目录下, 将mylink.txt(可随意修改名字)修改路径后...

    checkstyle和pmd、FindBugs规则集成文档

    myeclipse 和 eclipse 集成插件

    findbugs、PMD、+checkstyle+集成

    2. 在项目父`pom.xml`中添加`findbugs`、`checkstyle`和`pmd`的相关依赖,如`annotations`和`jsr305`,并配置相应的插件,如`maven-findbugs-plugin`、`maven-checkstyle-plugin`和`maven-pmd-plugin`。 3. 配置每个...

    findbugs checkstyle pmd

    `FindBugs`、`Checkstyle` 和 `PMD` 是三个著名的 Java 代码静态分析工具,它们帮助开发者发现并修复代码中的潜在问题,提高代码质量。 `FindBugs` 是一个静态分析工具,它可以检测出 Java 代码中可能存在的错误和...

    checkstyle+findbugs+pmd

    本文将详细讲解三个重要的Eclipse插件:Checkstyle、FindBugs和PMD,以及它们在提升代码质量方面的功能和应用。 Checkstyle是一款静态代码分析工具,主要用于检查代码是否遵循特定的编程规范,如Google编码规范或...

    在eclipse中修改checkstyle和pmd、FindBugs规则集的方法

    ### 在Eclipse中修改Checkstyle、PMD及FindBugs规则集的方法 #### 一、Checkstyle规则集的修改 **1. 替换Checkstyle规则集** 在Eclipse中更新Checkstyle规则集通常涉及几个步骤: - **备份现有配置**:首先确保...

    Eclipse插件之Checkstyle/PMD/Findbugs(官方下载路径)

    本文将深入探讨三个重要的静态代码分析工具:Checkstyle、PMD和FindBugs,它们都是Eclipse插件,能帮助开发者在编码阶段发现潜在的问题,避免在后期维护时遇到麻烦。以下是对这三个工具的详细介绍以及如何在Eclipse...

    MVVM-Architecture-Android:这是一个简单的Android项目,涉及以下内容:MVVM体系结构2.关注点分离3.单元测试3.代码质量工具(Findbugs,PMD,Checkstyle)使用的库RxJava Dagger2 Jetpack导航改造

    MVVM-Architecture-Android 这是一个简单的Android项目,涉及以下内容1.MVVM体系结构2.关注点分离3.单元测试4.代码质量工具(Findbugs,PMD,Checkstyle) 使用过的库RxJava Dagger2 Jetpack导航改造

    质量检查:Gradle插件,其中包括Checkstyle,FindBugs和PMD基本配置

    为了实现这一目标,开发者通常会使用各种静态代码分析工具,如Checkstyle、FindBugs和PMD。这些工具可以帮助识别潜在的问题,确保代码的可读性、可维护性和一致性。Gradle作为Android的构建系统,提供了集成这些静态...

    CheckStyle+PMD+FindBugs(Myeclipse10+和2014+版本插件)

    与CheckStyle和PMD不同,FindBugs更注重于代码的正确性和安全性。在Myeclipse中,FindBugs插件会为每个潜在问题提供详细的解释和建议的修复方法,帮助开发者提高代码的稳定性和可靠性。 在Myeclipse10和2014版本中...

    代码分析工具使用PMD

    6. **PMD规则对比**:相比于CheckStyle和FindBugs,PMD的自定义规则更灵活,允许用户使用XPath定义各种规则,而CheckStyle则是在原有严格规则基础上进行定制和修改,FindBugs只能在原有规则基础上做定制,无法创建新...

    Android-为您的Android项目轻松设置CheckStyleFindBugsPMD和Lint

    在Android开发过程中,保持代码质量和遵循最佳...通过集成CheckStyle、FindBugs、PMD和Lint,开发者可以在开发早期发现和修复问题,提升代码质量和可读性,降低维护成本,同时也有助于团队形成统一的编码风格和标准。

    代码走查工具介绍

    本文将介绍三种常见的代码走查工具:FindBugs、PMD和CheckStyle,它们在帮助提升代码质量方面起到了重要作用。 1. **FindBugs** FindBugs是一款静态分析工具,能够检测Java代码中的潜在错误和不良编程习惯。它通过...

    Jenkins 与findbugs集成

    接着,脚本会切换到`Check_Findbugs_ExtractPlugin`目录下执行类似的步骤,并且还包含了CheckStyle和PMD检查。 4. **解析FindBugs报告**: - 使用Jenkins插件来解析生成的FindBugs XML报告。 - 在Jenkins项目的...

Global site tag (gtag.js) - Google Analytics