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

前言


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


FindBugs


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


安装FindBugs


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

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

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

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


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

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


使用FindBugs


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


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


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


  • 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是代码正确性相关方面的检查。


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


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


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



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


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



FindBugs异常类型


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


结语


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



上一篇:[Android]ListView的Adapter.getView()方法中延迟加载图片的优化


下一篇:【Spring Boot 快速入门】二十一、基于Spring Boot 开发一个微信小程序