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. [linux]挂载smb

    什么是 smb 服务器消息区块(英语:Server Message Block,缩写为SMB,服务器消息区块),又称网络文件共享系统(英语:Common Internet File System,缩写 ...

  2. Service实现文件下载

    首先在Activity中声明Intent对象,启动Service: //生成Intent对象 Intent intent = new Intent(); //将文件名对象存入到intent对象当中 i ...

  3. 解决java代码测试http协议505错误

    代码功能:通过java代码获取网页源代码: 所用工具:Myclipse8.5+tomcat6.0+浏览器 系统环境:windows xp旗舰版 火狐浏览器版本: IE浏览器版本: 测试http协议有错 ...

  4. 【Debug】Web开发中,Tomcat正常启动,访问欢迎页404,怎么办?

    访问页面出现404是一个会经常遇到的问题.每次开发Web项目时总要掉这个坑里几次,而且还不长记性.今天来总结一下,开发时遇到这个问题的解决思路. 1. 查看访问地址是否正确,有无拼写错误. 越是低级的 ...

  5. .net 将List序列化成Json字符串

    将List类型转化为Json,是我们平常开发时最常见的了.在使用中,有很多种方法,也可以使用. 第一种 第三方组件:Newtonsoft.Json.dll //转化成Json Newtonsoft.J ...

  6. 简述.NET事务应用原则

    .NET事务应用原则 1.在同一个数据库内进行CRUD时,应使用同一个DbConnection对象,且显式指定DbConnection均为同一个DbTransaction,示例代码如下: //在同一个 ...

  7. 从 AJAX 到 JSONP的基础学习

    目录索引: 一.AJAX的概念二.POST && GET三.原生实现AJAX简单示例 3.1 实现代码 3.2 重点说明四.框架隐藏域 4.1 基本概念 4.2 后台写入脚本 4.3 ...

  8. 适配器模式 - Adapter

    Adapter Pattern, 适用场景: 接口匹配兼容: 客户代码统一调用同一接口: 在.NET中,DataAdapter用作DataSet和数据源之间的适配器以保存和检索数据. 参考:

  9. 背水一战 Windows 10 (15) - 动画: 缓动动画

    [源码下载] 背水一战 Windows 10 (15) - 动画: 缓动动画 作者:webabcd 介绍背水一战 Windows 10 之 动画 缓动动画 - easing 示例演示缓动(easing ...

  10. this上下文,以及通过call 、apply 实现继承

    上下文:this关键字通常指向当前函数的拥有者,把拥有者叫做执行上下文. this代表函数运行时自动生成的内部对象,只能在函数内部使用. 构造函数中的this 指 构造函数的实例对象.javascri ...