一个好用的代码优化神器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的介绍



目录
相关文章
|
1月前
|
IDE 开发工具 Windows
idea和webstorm性能优化
本文介绍了如何优化IDE(如IntelliJ IDEA和WebStorm)的性能。当IDE检测到启用实时保护的Microsoft Defender时,可能会影响性能。文章提供了自动或手动配置Defender排除列表的方法,通过将项目路径添加到排除列表中,可以显著提升IDE性能。按照步骤操作,确保以管理员身份运行IDE,以实现最佳效果。
82 1
idea和webstorm性能优化
|
1天前
|
IDE Java 持续交付
提升代码质量:CheckStyle插件的实践与心得
在软件开发过程中,代码的规范性是保证项目质量和维护性的重要因素。然而,手动检查代码规范既耗时又容易出错。为了解决这一问题,许多开发团队引入了自动化工具来帮助维护代码规范。CheckStyle就是这样一款广受欢迎的代码质量检查工具。本文将分享CheckStyle插件的实践应用和使用心得,探讨它是如何帮助我们提升代码规范性的。
5 0
|
JavaScript 数据安全/隐私保护
反混淆神器使用实战
反混淆神器使用实战
130 0
|
XML 安全 Java
别再写狗屎代码了,推荐这 5 款 IDEA 插件,让你的代码质量直接起飞!(1)
别再写狗屎代码了,推荐这 5 款 IDEA 插件,让你的代码质量直接起飞!
672 0
别再写狗屎代码了,推荐这 5 款 IDEA 插件,让你的代码质量直接起飞!(1)
|
安全 Java Android开发
别再写狗屎代码了,推荐这 5 款 IDEA 插件,让你的代码质量直接起飞!(2)
别再写狗屎代码了,推荐这 5 款 IDEA 插件,让你的代码质量直接起飞!
177 0
别再写狗屎代码了,推荐这 5 款 IDEA 插件,让你的代码质量直接起飞!(2)
|
jenkins Java 应用服务中间件
代码覆盖率工具-jacoco环境搭建分享
本文介绍 代码覆盖率工具-jacoco环境搭建分享
1702 0
代码覆盖率工具-jacoco环境搭建分享
|
Web App开发 JavaScript Java
推荐一款自动化测试神器,不会写代码也能做!
推荐一款自动化测试神器,不会写代码也能做!
321 0
推荐一款自动化测试神器,不会写代码也能做!
|
前端开发 关系型数据库 Java
代码质量检测神器——SonarQube
SonarQube是一款代码检测工具,支持对Java、C#、、Python、Go、Html、JavaScript、CSS等代码的质量检测。 因为SonarQube依赖数据库,可以用MySQL或PostgreSQL。SonarQube7.9以上版本不再支持MySQL,所以这里用PostgreSQL。
代码质量检测神器——SonarQube
|
移动开发 JavaScript 前端开发
WebStorm 超好用的10款插件,效率提升了好多!
WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。
6081 0
WebStorm 超好用的10款插件,效率提升了好多!
厉害了,用 IDEA 神器 看源码,效率真高!
最近正好也没什么可忙的,就回过头来鼓捣过去的知识点,到 Servlet 部分时,以前学习的时候硬是把从上到下的继承关系和接口实现记得乱七八糟。 这次利用了 IDEA 的 diagram,结果一目了然,也是好用到炸裂,就此分享。
厉害了,用 IDEA 神器 看源码,效率真高!