FindBugs 入门

FindBugs 作用

开发人员在开发了一部分代码后,可以使用FindBugs进行代码缺陷的检查。提高代码的质量,同时也可以减少测试人员给你报的bug数。

代码缺陷分类

根据缺陷的性质,大致可以分为下列几类

·Bad practice  不好的做法

·Correctness   可能有不正确

·Dodgy code     糟糕的代码

·Experimental  实验

·Internationalization  国际化

·Malicious code vulnerility 恶意的代码漏洞

·Multithreaded correctness 多线程问题

·Performance  性能问题

FindBugs官方网站上也给出了一些案例:

http://findbugs.sourceforge.net/bugDescriptions.html

怎么使用FindBugs?

使用FindBugs时,可以有3种方式:1)使用GUI、

2)作用IDE的插件使用、3)在Ant脚本中使用。

下面就说说前两种使用方式:

1)使用FindBugs GUI

 

1.1 下载

下载地址:

Linux: http://prdownloads.sourceforge.net/findbugs/findbugs-3.0.1.tar.gz?download

Windows:

http://prdownloads.sourceforge.net/findbugs/findbugs-3.0.1.zip?download

1.2 安装

安装方式很简单,只用解压即可。安装后配置环境变量FINDBUGS_HOME。

Linux: export FINDBUGS_HOME=/home/username/findbugs

Windows:

1.3 启动

目录切换到findbugs/bin目录:

cd $findbugs_home/bin 或者 cd %findbugs_home%/bin

运行findbugs脚本:

./findbugs 或者 findbugs.bat

这样就可以启动findbugs GUI:

说明:

·要分析的类包和目录,一般是要分析的classes包

·辅助类就是依赖的jar包等

·源文件目录就是源码所在目录

2)作为IDE插件使用

开发人员常用这种方式。支持的IDE有:Eclipse、NetBeans、Intellij IEDA。

下面就说说在Eclipse中如何使用了。

下载插件

下载地址:

http://sourceforge.net/projects/findbugs/files/findbugs%20eclipse%20plugin/

安装

直接解压到eclipse/plugins目录下就行了。

过滤器配置

打开Eclipse的Perferences配置:

分析bugs:

FindBugs 入门——帮你减少代码中的bug数的更多相关文章

  1. 写代码的心得,怎么减少编程中的 bug?

    遭遇 bug 的时候,理性的程序员会说:这个 bug 能复现吗? 自负型:这不可能,在我这是好好的. 经验型:不应该,以前怎么没问题? 幻想型:可能是数据有问题. 无辜型:我好几个星期都没碰这块代码了 ...

  2. [转] 怎么减少编程中的 bug?

    [转]http://macshuo.com/?p=1361 怎么减少编程中的 bug? Posted on 2016 年 2 月 17 日 为什么要编程?因为代码没在那里.创造一个世界是如此让人着迷, ...

  3. 如何减少代码中的if-else嵌套

    实际项目中,往往有大量的if-else语句进行各种逻辑校验,参数校验等等,大量的if-else,语句使代码变得臃肿且不好维护,本篇文章结合我自己的经验,就减少if-else语句给出以下几种方案,分别适 ...

  4. 论减少代码中return语句的骚操作

    一.写作背景 最近组内在推行checkstyle代码规范的检测,关于checkstyle的介绍可以参考:https://checkstyle.sourceforge.io, 在按照checkstyle ...

  5. 有效的减少代码中太多的if、else?-策略模式

    写这篇文章的目的和上一篇单例模式一样,策略模式也是一种常用的设计模式,太多的if-else不仅看着不太美观而且不好维护,对于自己来说也等于复习了一遍策略模式.先说一下策略 模式的定义: 策略模式封装了 ...

  6. sitecore开发入门之如何在代码中获取SITECORE图像URL

    using Sitecore; using Sitecore.Data.Items; using Sitecore.Resources.Media; public string GetUrl() { ...

  7. 程序员怎样在复杂代码中找 bug?(简单)

    分享下我的debug的经验 1. 优先解决那些可重现的,可重现的bug特别好找,反复调试测试就好了,先把好解决的干掉,这样最节约时间. 2. 对于某些bug没有头绪或者现象古怪不知道从哪里下手,找有经 ...

  8. 程序员新人怎样在复杂代码中找 bug?

    分享下我的debug的经验 1. 优先解决那些可重现的,可重现的bug特别好找,反复调试测试就好了,先把好解决的干掉,这样最节约时间. 2. 对于某些bug没有头绪或者现象古怪不知道从哪里下手,找有经 ...

  9. (转)程序员新人怎样在复杂代码中找 bug?

    我曾经做了两年大型软件的维护工作,那个项目有10多年了,大约3000万行以上的代码,参与过开发的有数千人,代码checkout出来有大约5个GB,而且bug特别多,open的有上千,即使最高优先级的s ...

随机推荐

  1. Android 学习Activity(1)activity和intent

    工具是:JDK环境配置+SDK+ADT工具 一.Activity  主要作用: 1.用户与应用程序的接口 2.控件的容器 二.创建Activity要点:(在src中的目录下包里) 1.一个Activi ...

  2. lamp 环境搭建

    LAMP指的Linux(操作系统).ApacheHTTP 服务器,MySQL(数据库软件)和PHP语言 使用wampserver软件,搭建环境.如下图: 双击程序包,安装最后一步随便选择一个浏览器打开 ...

  3. CSS表格溢出省略号代替及其他标签

    box-shadow: 20px 20px 55px #777; // div阴影效果 filter:alpha(opacity=60) //设置透明度为60 opacity:0.6 //非IE浏览器 ...

  4. Yahoo军规

    一.尽可能的减少HTTP请求 每一个图片,文字,js文件,css文件都是一个请求. 可以通过合并来请求来减少HTTP请求 比如:图片为一个请求,js文件为一个请求,css为一个请求 二.使用CDN C ...

  5. [Web API] Web API 2 深入系列(5) 特性路由

    目录 1. 特性路由注册 2. 路由解析 - 生成DataTokens - 选择HttpController - 选择Action 特性路由的目的在于更好的提供restful架构的接口,最近好忙(懒) ...

  6. 用CSS3动画特效实现弹窗效果

    提示:如果大家觉得本篇实现的弹窗效果有用,可持续关注.接下会添加更多效果并且封装成插件,这样使用就方便了.效果查看: https://heavis.github.io/hidialog/index.h ...

  7. c#中字段和属性的区别

    在我看来(本人是C#初学者)字段实际上类似一个变量,或者就直接说字段就是一个变量.相应的属性也可以看做是一个变量,只不过多了一些限制而已. using System;using System.Coll ...

  8. iOS阶段学习第33天笔记(自定义标签栏(UITabBar)介绍)

    iOS学习(UI)知识点整理 一.自定义标签栏 1.方法一 单个创建标签栏 #import "AppDelegate.h" #import "SecondViewCont ...

  9. Create function through MySQLdb

    http://stackoverflow.com/questions/745538/create-function-through-mysqldb How can I define a multi-s ...

  10. python 优矿自动化交易

    一.进入官网,打开notebook 自己新建 notebook 二.在代码中编写自己的交易策略 https://uqer.io/help/faqApi/#account相关属性  在帮助文档中可以找到 ...