AndroidStudio 插件 之 Findbugs 安装与简单使用教程

2023-11-21 07:59

本文主要是介绍AndroidStudio 插件 之 Findbugs 安装与简单使用教程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

分类:
作者同类文章 X

    目录(?)[-]

    1. 前言
    2. Findbugs安装教程
    3. Findbugs的简单使用教程
      1. 代码检测功能区
      2. bug分组功能区
      3. 用户体验帮助区
      4. bug修改

    前言

    对于代码质量的检查,一直是一个比较棘手的问题。虽然我们部门有关于java代码的各种规范,领导也多次强调对代码的评审。但是在实际执行过程中,由于开发人员的水平参差不齐,在开发项目时还有各种其他因素,比如时间紧任务重,自己的代码不规范没有意识到,就疏于对代码质量的检查,然后草率的提交。还有就是大家对代码检测的不重视,有种意识就是即使代码不规范,我们的程序也可以正常运行,为什么要多次一举呢。由于我们的工程和代码时间比较久远,想改却不知道如何下手,将代码规范转换成实际的编程规范时,执行起来却很困难,即使我们有心改这也将是一个长期而痛苦的过程,需要很大人力和时间。
           现在,向大家推荐一个很优秀的代码质量检测工具— FindBugs,一个用静态分析的方式来寻找Java代码中Bug的工具,,它检查类或者jar文件,将字节码和一组缺陷模式进行对比以发现可能的问题。有了静态分析工具,就可以在不实际运行程序的情况下对软件进行分析。不是通过分析类文件的形式或结构来确定程序的意图,而是通常使用Visitor模式来鉴别代码是否符合一些固定的规范。具体介绍大家可以百度一下进行普及。

    Findbugs安装教程

             AndroidStudio的Findbugs插件的安装有在线安装和离线安装,这里介绍在线安装。      

             Findbugs的在线安装非常简单,打开AndroidStudio 点击File->Settings->Plugins , 具体如下图所示:

       1 、 输入搜索Findbugs 。


          2、  点击Search in respostories.


          3、  下载安装


           4、  然后重启Android Studio,会发现下面工具栏多出一个愤怒的小鸟的图标,这就是Findbugs。如下图所示,左下角弹出框提示是提示你加入你的对应的缺陷匹配规则,这个可以不用去管他。


    Findbugs的简单使用教程

           Findbugs使用之前首先介绍一下左边工具栏里面的这些按钮都是干嘛的。

           首先我们可以看到Findbugs的按钮主要分4块,如下所示:


    这4块是按照功能来区分的主要是:

    1、代码检测功能区

    2、bug分组显示功能区

    3、用户体验功能区

    4、导入/出错误集合

    代码检测功能区

        该区的按钮主要用来检测代码中的bug,我们检测或停止检测bug就是点击这个区域的按钮。这些按钮我们点击打开一个文件右击弹出菜单最下面有个Findbugs,光标移动到下面就会出现这个区域的图标。如下图所示:


    根据上图的图标右部功能描述我们很容易明白这些按钮是干嘛的,下面我们一个个来说一下。

    1、分析当前文件

    2、分析游标下的类(就是光标所在的类)

    3、分析包内所有文件

    4、分析当前模块的所有文件

    5、分析项目中的所有文件 

    这个按钮就是分析检测当前project中所有文件,找出bugs。

    6、分析范围内的所有文件

    这个按钮就是分析检测当前文件一定范围中所有文件,我试了一下点击后分析的还是当前项目中的所有文件,可能是因为项目结构的问题吧。

    7、分析所有模块内的所有文件

    这个按钮就是检测所有模块中的代码缺陷,主要和第一个按钮功能还是差不多。

    8、分析改变的所有文件  

    这个按钮一般显示都是暗色的点击不了,当有svn等版本控制时改变后才能点击检测。

    bug分组功能区

    1、根据bug的分类来分组显示bug,选中后bug分组如下所示:


    2、根据类来分组显示bug,就是一个类一个类显示bug。


    3、根据包来分组显示bug


    4、根据bug的等级分组显示bug,由上至下bug的等级越来越低,也就是最上面的是最致命的。


    用户体验帮助区

    该区主要是用来帮助体验的

    1、这个按钮的功能是自动定位至bug所在的位置,


    2、在下方显示Finbugs栏目中预览bug文件,如下所示选中与没选中效果:


    3、

    4、这两个按钮一看就明白就是合并和打开bug分组列表,如下所示:


    5、这个按钮就是在设置里面设置Findbugs

    bug修改

        检测到bug是什么bug呢?如何修改呢,我们选中一个bug会在最右边显示并描述,如下图所示,右下角绿色字体可以点击链接至Findbugs官网。


          问题描述都已经很清楚了,具体如何修改大家实在不会可以百度,或者请教大佬。

          推荐一篇不错的Findbugs错误规则整理的博客:

          Findbugs规则整理

    这篇关于AndroidStudio 插件 之 Findbugs 安装与简单使用教程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



    http://www.chinasem.cn/article/400955

    相关文章

    SpringBoot集成redisson实现延时队列教程

    《SpringBoot集成redisson实现延时队列教程》文章介绍了使用Redisson实现延迟队列的完整步骤,包括依赖导入、Redis配置、工具类封装、业务枚举定义、执行器实现、Bean创建、消费... 目录1、先给项目导入Redisson依赖2、配置redis3、创建 RedissonConfig 配

    Python使用FastAPI实现大文件分片上传与断点续传功能

    《Python使用FastAPI实现大文件分片上传与断点续传功能》大文件直传常遇到超时、网络抖动失败、失败后只能重传的问题,分片上传+断点续传可以把大文件拆成若干小块逐个上传,并在中断后从已完成分片继... 目录一、接口设计二、服务端实现(FastAPI)2.1 运行环境2.2 目录结构建议2.3 serv

    Spring Security简介、使用与最佳实践

    《SpringSecurity简介、使用与最佳实践》SpringSecurity是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架,本文给大家介绍SpringSec... 目录一、如何理解 Spring Security?—— 核心思想二、如何在 Java 项目中使用?——

    springboot中使用okhttp3的小结

    《springboot中使用okhttp3的小结》OkHttp3是一个JavaHTTP客户端,可以处理各种请求类型,比如GET、POST、PUT等,并且支持高效的HTTP连接池、请求和响应缓存、以及异... 在 Spring Boot 项目中使用 OkHttp3 进行 HTTP 请求是一个高效且流行的方式。

    Java使用Javassist动态生成HelloWorld类

    《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

    使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

    《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

    Java使用jar命令配置服务器端口的完整指南

    《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

    C#使用Spire.Doc for .NET实现HTML转Word的高效方案

    《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

    Java中的抽象类与abstract 关键字使用详解

    《Java中的抽象类与abstract关键字使用详解》:本文主要介绍Java中的抽象类与abstract关键字使用详解,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、抽象类的概念二、使用 abstract2.1 修饰类 => 抽象类2.2 修饰方法 => 抽象方法,没有

    MyBatis ParameterHandler的具体使用

    《MyBatisParameterHandler的具体使用》本文主要介绍了MyBatisParameterHandler的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一、概述二、源码1 关键属性2.setParameters3.TypeHandler1.TypeHa