`

Eclipse下使用findbugs进行代码审查

    博客分类:
  • java
 
阅读更多
1、FindBugs介绍
FindBugs是一款Java静态代码分析工具,与其他静态分析工具(如Checkstyle和PMD)不同,FindBugs 不注重样式或者格式,它专注于寻找真正的缺陷或者潜在的性能问题,它可以帮助java工程师提高代码质量以及排除隐含的缺陷。有了静态分析工具,就可以在不实际运行程序的情况对软件进行分析。
最新版本是1.3.9.20090821,下载地址http://findbugs.sourceforge.net/downloads.html。
FindBugs运用Apache BCEL 库分析类文件(class文件)而不是源代码,将字节码与一组缺陷模式进行对比以发现可能的问题。FindBugs的检测器已增至300多条,被分为不同的类型,常见的类型如下:
· 正确性(Correctness):这种归类下的问题在某种情况下会导致bug,比如错误的强制类型转换等。
· 最佳实践反例(Bad practice):这种类别下的代码违反了公认的最佳实践标准,比如某个类实现了equals方法但未实现hashCode方法等。
· 多线程正确性(Multithreaded correctness):关注于同步和多线程问题。
· 性能(Performance):潜在的性能问题。
· 安全(Security):安全相关。
· 高危(Dodgy):FindBugs团队认为该类型下的问题代码导致bug的可能性很高。

2、在Eclipse中安装FindBugs插件
   下载Eclipse plugin 的版本,解压zip文件。
   将解压后的文件放到Eclipse的Plugin中。
   重新启动Eclipse 。

    我使用的是MyEclipse8.5可能路径和大家的不太一样,我是放到了路径Genuitec/MyEclipse 8.5/dropins下面



3、在Eclipse中使用FindBugs
重新启动eclipse
打开FindBugs视图





执行Find Bug 任务
右键单击你要检测的工程、包或文件,-->Find Bugs-->Find Bugs。

check完成后将在Bug Explorer视图中看到问题列表,该列表以问题类型组织。




展开列表,双击列表中具体的问题就可以定位的具体的代码行。




4、配置FindBugs
在这里可以对FindBugs规则等进行详细设置。
  选择你的项目,右键 => Properties => FindBugs =>

1 Run Automatically开关

当此项选中后,FindBugs将会在你修改Java类时自动运行,如你设置了Eclipse自动编译开关后,当你修改完Java文件保存,FindBugs就会运行,并将相应的信息显示出来。
当此项没有选中,你只能每次在需要的时候自己去运行FindBugs来检查你的代码。
2 Detector Configuration选择项

在这里你可以选择所要进行检查的相关的Bug Pattern条目,你可以根据需要选择或去掉相应的 检查条件。


3 Minimum priority to report选择项
这个选择项是让你选择哪个级别的信息进行显示,有Low、Medium、High三个选择项可以选择,很类似于Log4J的级别设置啦。 比如:

你选择了High选择项,那么只有是High级别的提示信息才会被显示。
你选择了Medium选择项,那么只有是Medium和High级别的提示信息才会被显示。
你选择了Low选择项,那么所有级别的提示信息都会被显示。
4 Report bug categories选择项
在这里是一些显示Bug分类的选择:
Malicious code vulnerability关于恶意破坏代码相关方面的
Correctness关于代码正确性相关方面的
Internationalization关于代码国际化相关方面的
Performance关于代码性能相关方面的
Multithreaded correctness关于代码多线程正确性相关方面的

另外FindBugs有UI页面,可以单独运行。也可以通过Ant以及命令行方式运行。




5、其它分析工具

除FingBugs静态分析工具外,还有PMD和Checkstyle,FingBugs、PMD和Checkstyle三个工具各有不同的特点,联合使用有助于减少误报错误,提高报告的准确率。

这三个工具检查的侧重点各有不同:
工具
目的
主要检查内容
FindBugs
基于Bug Patterns概念,查找java bytecode中的潜在bug。在目前版本中,它不检查java源文件。
主要检查bytecode中的bug patterns,也允许用户自定义特定的bug patterns。
PMD
检查java源文件中的潜在问题。
主要包括:
  -  空try/catch/finally/switch语句块
-       未使用的局部变量、参数和private方法
-       空if/while语句
-       过于复杂的表达式,如不必要的if语句等
-       复杂类
CheckStyle
检查java源文件是否与代码规范相符
主要包括
-       Javadoc注释
-       命名规范
-       Headers
-       Imports
-       Size冲突和度量,如过长的方法
-       Whitespace
-       Modifiers
-       Blocks
-       Coding Problems
-       Class Design
-       重复代码
-       Miscellaneous Checks
-       Optional Checks


Findbug官网地址:http://findbugs.sourceforge.net/
FindBugs的详细bug描述清单见:http://findbugs.sourceforge.net/bugDescriptions.html
分享到:
评论

相关推荐

    eclipse中findbugs插件

    Eclipse是一款广泛使用的Java集成开发环境(IDE),它提供了丰富的功能来支持软件开发。而FindBugs是一款静态代码分析工具,能够...通过定期使用FindBugs进行代码审查,可以有效地减少bug的出现,提高软件的稳定性。

    Eclipse FindBugs插件安装指南

    FindBugs 插件允许用户在 Eclipse 环境中直接使用 FindBugs 的功能,无需离开 IDE 即可完成代码审查工作。 #### 三、安装指南 ##### 3.1 准备工作 在安装 FindBugs 插件之前,需要先准备必要的开发环境: - **...

    findbugs插件eclipse

    FindBugs是一款强大的静态代码分析工具,主要用于检测Java代码中的潜在错误和常见编程问题。它在Eclipse集成开发环境中作为一个插件...在实际开发过程中,结合代码审查和单元测试,FindBugs能进一步确保代码的质量。

    Eclipse FindBugs

    Eclipse FindBugs是一款强大的静态代码分析工具,它主要用于检测Java代码中的潜在错误和不良编程习惯。这款插件是Eclipse集成开发环境...通过持续的代码审查和修复FindBugs报告的问题,可以显著提升软件的整体品质。

    Eclipse集成findBugs步骤.doc

    总之,Eclipse集成FindBugs是一个简单的过程,它可以极大地提升代码审查的效率,帮助开发者编写出更高质量的代码。记得根据FindBugs的建议进行合理调整,但也要结合实际项目需求来决定是否采纳其提示。

    eclipse 插件 findBugs

    为了确保代码的健壮性,开发者通常需要进行严谨的代码审查和测试。Eclipse插件FindBugs就是这样一个强大的静态代码分析工具,它能够帮助开发者在编译期间发现潜在的问题,从而提高代码质量。 **FindBugs简介** ...

    用FindBugs提高代码质量.doc

    《用FindBugs提高代码质量》 在软件开发过程中,确保代码质量是至关重要的,而FindBugs正是这样一款能够帮助...在实际项目中,如xBankMIBS2.0.EUSP,定期使用FindBugs进行代码审查,可以显著提高软件的质量和维护性。

    checkstyle和findBugs插件 eclipse插件

    同样,FindBugs可以集成到Eclipse中,提供方便的代码审查体验。 使用这两个插件,开发者可以在编码阶段就发现并解决大量问题,降低代码缺陷率,提高软件的整体质量。同时,它们也是持续集成和代码审核过程中的重要...

    findbugs.plugin.eclipse

    将这个文件解压后放入Eclipse的Plugin目录下,即可实现对Eclipse IDE的扩展,让开发者在IDE内直接使用FindBugs的功能。 在Eclipse中安装FindBugs插件后,开发者可以享受到以下主要功能: 1. **实时错误检查**:在...

    fijava findbugs eclipse version 3.3.

    2. 结合代码审查:FindBugs的结果应作为代码审查的一部分,结合人工审查可以确保问题得到充分理解和解决。 3. 整合持续集成:将FindBugs集成到持续集成流程中,可以在早期发现并修复问题,避免在后期引入大量技术...

    FindBugs1.3.4eclipse插件

    4. **集成报告**:FindBugs的结果可以直接在Eclipse的problems视图中查看,也可以导出为HTML或XML格式的报告,方便团队协作和代码审查。 5. **交互式修复建议**:对于检测到的问题,FindBugs会提供可能的修复建议,...

    edu.umd.cs.findbugs.plugin.eclipse_1.0.0

    同时,FindBugs的结果也可作为代码审查的一部分,帮助团队成员理解代码中的潜在问题,促进团队间的沟通和协作。 总之,FindBugs插件是Eclipse开发环境中不可或缺的工具,它通过静态分析技术,帮助开发者在代码编写...

    findbugs(静态代码分析工具)

    1、将下载回来的zip包解压,得到文件夹:edu.umd.cs.findbugs.plugin.eclipse_1.3.9.20090821, 将该文件夹拷贝到myeclipse安装目录下common/plugins目录下。我的目录结构:D:\Genuitec\MyEclipse8.5\Common\...

    Java代码审查工具

    5. **IntelliJ IDEA** 和 **Eclipse** 的内置代码审查功能:这两个流行的Java IDE都提供了内置的代码审查工具,允许开发者进行代码检查,发现潜在问题,并提供改进建议。 6. **Crucible**:Atlassian的Crucible是一...

    代码检查工具findbugs插件

    2. 代码审查辅助:在代码审查过程中,FindBugs可以作为重要参考,确保代码符合规范。 3. 教育作用:对于初学者,FindBugs可以引导他们遵循最佳实践,避免常见的编程陷阱。 总的来说,FindBugs作为一款强大的代码...

    ecplise插件findbugs2.0

    除了手动分析,FindBugs 还支持集成到构建工具如 Maven 或 Gradle 中,实现持续集成和自动化代码审查。在项目构建阶段就能发现并修复问题,提高代码质量。 **5. 注意事项** 尽管 FindBugs 能检测出很多潜在问题,...

    eclise插件findbugs最新版

    **FindBugs Eclipse 插件详解** FindBugs 是一款著名的静态代码分析工具,专用于检测 Java 应用程序中的潜在...通过定期使用 FindBugs 进行代码审查,可以有效地避免许多常见的编程陷阱,确保软件项目的稳定和高效。

    findbugs_3.0.1

    通过这种方式,FindBugs为开发者提供了宝贵的代码审查辅助,减少了人工检查的工作量,提高了开发效率。 在Eclipse IDE中,FindBugs插件是其重要的组成部分,版本号edu.umd.cs.findbugs.plugin.eclipse_3.0.1....

Global site tag (gtag.js) - Google Analytics