FindBugs入门简介(eclipse安装使用实例)

FindBugs入门简介(eclipse安装使用实例)

前言:一般公司都会有一些开发规范,但是事实上,简单看那么一两遍并不能养成习惯,或者将这些规范记住。特别的,对于一些新手,写的代码往往会很糟糕。回头看看你一两年前写的代码就会知道,所谓的”糟糕“是什么一种感觉。

使用一些检测工具,对代码质量的控制确有成效。FindBugs便是这一类不错的工具。

一、FindBugs介绍

FindBugs 是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。有了静态分析工具,就可以在不实际运行程序的情况对软件进行分析。

简言之,FindBugs是一个在Java程序中查找bug的程序,它查找bug模式的实例,也就是可能出错的代码实例。Findbugs是检查java字节码,也就是*.class文件。

其实准确的说,它是寻找代码缺陷的,很多我们写的不好的地方,可以优化的地方,它都能检查出来。

例如:未关闭的数据库连接,缺少必要的null check,多余的 null check,多余的if后置条件,相同的条件分支,重复的代码块,错误的使用了”==”,建议使用StringBuffer代替字符串连加等等。

而且我们还可以自己配置检查规则(做哪些检查,不做哪些检查),也可以自己来实现独有的校验规则(用户自定义特定的bug模式需要继承它的接口,编写自己的校验类,属于高级技巧)。

当然,FindBugs不过是一个工具。作为开发人员,当然首先要在编程的时候努力避免引入bug,而不要依赖于某个工具来为自己把关。不过由于代码的复杂性,一些隐藏的bug确实很难靠咱们的肉眼发现。这时,应用一些好的工具或许就可以帮你发现这样的bug。这便是FingBug存在的价值。

静态分析工具承诺无需开发人员费劲就能找出代码中已有的缺陷。当然,如果有多年的编写经验,就会知道这些承诺并不是一定能兑现。

代码质量工具的一个问题是它们容易为开发人员提供大量但并非真正问题的问题——即 伪问题(false positives)。

二、FindBugs在eclipse的安装

事实上,大多数eclipse插件的安装方式基本类似。无非就是那么两种,下载对应插件离线安装 以及 “help”–>”Install New Software” 安装。第一种离线安装是比较快的。

(1)离线安装:

http://findbugs.sourceforge.net/downloads.html下载20131115123549_nlpir_ictclas2013_u20131115_release.zip,解压后,直接将解压后的edu.umd.cs.findbugs.plugin.eclipse_3.0.1.20150306-5afe4d1放到eclipse的plugins目录,然后重启eclipse皆可。

这里写图片描述

注意了,这里要求的是eclipse3.6及以上的版本,按理说猿基本都能跟上潮流的。可以查看下自己的eclipse版本确认下(Help->About Eclipse)

这里写图片描述

这里写图片描述

小宝鸽的是4.4.2版本

(2)在线安装

点击“Help->InstallNew Software”,如下图:

这里写图片描述

接着如图:

这里写图片描述

Name”输入“findBugs”,“Location”输入“http://findbugs.cs.umd.edu/eclipse” 如下:

这里写图片描述

接着选择对应插件如下:

这里写图片描述

后面的是下一步,下一步就可以了,在线安装可能需要等待比较长的时间,耐心等待,不要中断!

后面会提示你重启eclipse,重启后就可以使用了。

三、FindBugs在Eclipse的使用

(1)安装完成并重启后,选中一个项目,右键如图,选择Find Bugs:

这里写图片描述

(2)运行完成后查看Bug Explorer视图,如果没有该视图,操作如下图:

这里写图片描述

这里写图片描述

(3)如果检查出你的代码问题会出现如下图:

这里写图片描述

(4)点击其中一个叶子节点:

这里写图片描述

上图是小宝鸽故意加的空指针问题。

其他更多使用功能就待猿友们进一步学习啦。因为写博客真心比较花时间~~~

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/2268.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • C语言代码的换行_c语言怎么换行输出

    C语言代码的换行_c语言怎么换行输出分两种情况:1.预处理:把一个预处理指示写成多行要用“\”续行,因为根据定义,一条预处理指示只能由一个逻辑代码行组成。2. 正常程序:一行写不下:把C代码写成多行则不必使用续行符,因为

    2022年8月3日
    9
  • Linux切换用户命令

    Linux切换用户命令Linux 切换用户命令 1 从管理员用户切换到普通用户不需要输入普通用户的密码 直接使用 su 用户名 命令即可进入到普通用户中 2 从普通用户切换到管理员用户需要输入密码备注 表示普通用户 表示超级用户

    2025年6月22日
    3
  • Error:CreateProcess error=216, 该版本的 %1 与您运行的 Windows 版本不兼容。请查看计算机的系统信息,了解是否需要 x86 (32 位)或 x64 (64 位)

    Error:CreateProcess error=216, 该版本的 %1 与您运行的 Windows 版本不兼容。请查看计算机的系统信息,了解是否需要 x86 (32 位)或 x64 (64 位)

    2021年9月30日
    103
  • Java BigDecimal比较大小

    Java BigDecimal比较大小BigDecimal比较大小使用compareTo(BigDecimal)方法。intflag =bigdemical.compareTo(bigdemical1)flag =-1,表示bigdemical小于bigdemical1;flag =0,表示bigdemical等于bigdemical1;flag =1,表示bigdemical大于bigdemical1;实际中…

    2022年7月14日
    56
  • Centos安装mysql rpm包

    Centos安装mysql rpm包Centos安装mysqlrpm包安装mysql步骤:清理环境centos有可能会自带一个mariadb查看是否已安装rpm-qa|grep-imysql#(centos7默认系统自带的)rpm-qa|grep-imariadb#rpm-e加上包名,把mariadb包清掉rpm-e–nodepsXXXX可以看到用rpm删除会失败,提示有依赖关系的软件需要安装rpm删除时如果有依赖关系,可以用yumremove+包名来删除mariadb开始安装:

    2022年6月26日
    37
  • StrictMode 详解「建议收藏」

    StrictMode 详解「建议收藏」StrictMode类是Android2.3(API9)引入的一个工具类,可以用来帮助开发者发现代码中的一些不规范的问题。比如,如果你在UI线程中进行了网络或者磁盘操作,StrictMode就会通过Log(logcat)或者对话框的方式把信息提示给你,因为让你的UI线程处理这里操作会被认为是不规范的做法,可能会让你的应用变得比较卡顿。官网文档:http://developer.an

    2022年5月1日
    37

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号