一个好用的代码优化神器FindBugs

简介: 一个好用的代码优化神器FindBugs

前言


  在使用开发工具进行项目开发时,由于开发人员在编写代码过程中,可能由于上下文或者数据校验等各种情况会出现难免的异常代码,有些代码在编译的过程中是无法发现的。本次介绍的代码优化插件FindBugs将会帮助我们减少和规避一部分不必要的异常。开始介绍。


FindBugs


  FindBugs是一款不需要执行程序使用静态分析的方式来查找和发现Java代码中的错误。FindBugs的最新版本是 3.0.1。FindBugs已被下载超过一百万次。据统计在开发使用中,FindBugs 报告的误报率低于50%。


安装FindBugs


  本次将基于IDEA开发工具安装FindBugs,首先打开IDEA,如下图,在File菜单栏 找到Settings。

image.png

  在Settings页面找到Plufgins在输入框输入FindBugs即可出现如下图中找到的FindBugs插件信息。

image.png


  可以查看FindBugs的详细信息。如果已经安装了的话,不需要进行安装了,如果大家没有安装的话可以点击install按钮即可安装,安装完成之后,需要重启IDEA即可使用FindBugs。

image.png


使用FindBugs


  上面已经安装完成了FindBugs的插件,下面将开始使用FindBugs进行代码规范简称。首先在IDEA项目中,可以选择file文件或者package包,然后右击,可以看到FindBugs插件已经安装并可以进行代码检查。


image.png


工具菜单栏的的主要功能描述如下:


  • Analyze Selected File(s):分析所选文件,主要是针对单个文件进行分析检查
  • Analyze Package(s) Files:分析程序包文件,主要是针对指定包下的文件进行分析检查
  • Analyze Module Files:分析模块文件,主要针对指定的模块下文件进行分析检查
  • Analyze Project Files:分析项目文件,对整体的项目中下的文件进行分析检查
  • Analyze Scope Files:分析范围文件,对指定范围内的文件进行分析检查
  • Analyze All Modified Files:分析所有修改的文件,对所有的修改过的文件进行分析检查
  • Analyze changelist Files:分析变更列表文件,对所有的变更过的文件进行分析检查

  

如下图是针对某个项目文件进行代码检查。可以看到总共检查了44个文件。其中发现了8个bug。 主要有:Performance、Dodgy code、Correctness三种类型的异常信息。其中Performance是关于代码性能相关方面的优化建议,Dodgy code是糟糕的代码,是需要进行修改的。Correctness是代码正确性相关方面的检查。


image.png  


示例如下图,点击选中的Dead store to user。可以看到异常所在的文件中的位置,及异常信息。在最右边提示文件所在的类和行数信息,在最右下角,有相关描述信息。Dead store to local variable是局部定义了未使用的变量信息,该值不会在任何后续指令中读取或使用。通常,这表示错误,因为从未使用计算的值。在项目中,存在未使用的局部变量,应该及时清除掉。


image.png



  示例Null pointer dereference可能存在的空指针引用,右下角介绍此处取消引用空指针。这将在执行代码时导致NullPointerException。所以遇到这种可能出现空指针情况,应该判空处理。


image.png



FindBugs异常类型


  FindBugs检查的异常类型主要可以分为:Bad practice、Dodgy code、Performance、Experimental、Multithreaded correctness 、Correctness 几大类。


结语


  好了,以上就是关于FindBugs的介绍



目录
相关文章
|
2月前
|
JSON 安全 JavaScript
【教程】混淆代码保护与优化
【教程】混淆代码保护与优化
|
9月前
|
JSON Java Maven
IntelliJ Idea 常用插件(大幅度提高效率)
IntelliJ Idea 常用插件(大幅度提高效率)
49 0
|
10月前
|
JavaScript 数据安全/隐私保护
反混淆神器使用实战
反混淆神器使用实战
93 0
|
XML 安全 Java
别再写狗屎代码了,推荐这 5 款 IDEA 插件,让你的代码质量直接起飞!(1)
别再写狗屎代码了,推荐这 5 款 IDEA 插件,让你的代码质量直接起飞!
589 0
别再写狗屎代码了,推荐这 5 款 IDEA 插件,让你的代码质量直接起飞!(1)
|
安全 Java Android开发
别再写狗屎代码了,推荐这 5 款 IDEA 插件,让你的代码质量直接起飞!(2)
别再写狗屎代码了,推荐这 5 款 IDEA 插件,让你的代码质量直接起飞!
153 0
别再写狗屎代码了,推荐这 5 款 IDEA 插件,让你的代码质量直接起飞!(2)
|
jenkins Java 应用服务中间件
代码覆盖率工具-jacoco环境搭建分享
本文介绍 代码覆盖率工具-jacoco环境搭建分享
1635 0
代码覆盖率工具-jacoco环境搭建分享
|
Web App开发 JavaScript Java
推荐一款自动化测试神器,不会写代码也能做!
推荐一款自动化测试神器,不会写代码也能做!
283 0
推荐一款自动化测试神器,不会写代码也能做!
|
Java Maven
《保姆教程二》idea 的使用技巧,墙裂推荐收藏!!!疯狂提升代码开发效率和代码质量
在平常的开发中,发现一些同事对Idea 使用的不是很熟练,仅仅用来编辑,编译,不能很好的发挥Idea 的神奇。整理了下我平常用的一些技巧,希望你能从中学习到一些。开始吧
128 0
《保姆教程二》idea 的使用技巧,墙裂推荐收藏!!!疯狂提升代码开发效率和代码质量
|
前端开发 关系型数据库 Java
代码质量检测神器——SonarQube
SonarQube是一款代码检测工具,支持对Java、C#、、Python、Go、Html、JavaScript、CSS等代码的质量检测。 因为SonarQube依赖数据库,可以用MySQL或PostgreSQL。SonarQube7.9以上版本不再支持MySQL,所以这里用PostgreSQL。
代码质量检测神器——SonarQube
厉害了,用 IDEA 神器 看源码,效率真高!
最近正好也没什么可忙的,就回过头来鼓捣过去的知识点,到 Servlet 部分时,以前学习的时候硬是把从上到下的继承关系和接口实现记得乱七八糟。 这次利用了 IDEA 的 diagram,结果一目了然,也是好用到炸裂,就此分享。
厉害了,用 IDEA 神器 看源码,效率真高!