FindBugs 入门——帮你减少代码中的bug数
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数的更多相关文章
- 写代码的心得,怎么减少编程中的 bug?
遭遇 bug 的时候,理性的程序员会说:这个 bug 能复现吗? 自负型:这不可能,在我这是好好的. 经验型:不应该,以前怎么没问题? 幻想型:可能是数据有问题. 无辜型:我好几个星期都没碰这块代码了 ...
- [转] 怎么减少编程中的 bug?
[转]http://macshuo.com/?p=1361 怎么减少编程中的 bug? Posted on 2016 年 2 月 17 日 为什么要编程?因为代码没在那里.创造一个世界是如此让人着迷, ...
- 如何减少代码中的if-else嵌套
实际项目中,往往有大量的if-else语句进行各种逻辑校验,参数校验等等,大量的if-else,语句使代码变得臃肿且不好维护,本篇文章结合我自己的经验,就减少if-else语句给出以下几种方案,分别适 ...
- 论减少代码中return语句的骚操作
一.写作背景 最近组内在推行checkstyle代码规范的检测,关于checkstyle的介绍可以参考:https://checkstyle.sourceforge.io, 在按照checkstyle ...
- 有效的减少代码中太多的if、else?-策略模式
写这篇文章的目的和上一篇单例模式一样,策略模式也是一种常用的设计模式,太多的if-else不仅看着不太美观而且不好维护,对于自己来说也等于复习了一遍策略模式.先说一下策略 模式的定义: 策略模式封装了 ...
- sitecore开发入门之如何在代码中获取SITECORE图像URL
using Sitecore; using Sitecore.Data.Items; using Sitecore.Resources.Media; public string GetUrl() { ...
- 程序员怎样在复杂代码中找 bug?(简单)
分享下我的debug的经验 1. 优先解决那些可重现的,可重现的bug特别好找,反复调试测试就好了,先把好解决的干掉,这样最节约时间. 2. 对于某些bug没有头绪或者现象古怪不知道从哪里下手,找有经 ...
- 程序员新人怎样在复杂代码中找 bug?
分享下我的debug的经验 1. 优先解决那些可重现的,可重现的bug特别好找,反复调试测试就好了,先把好解决的干掉,这样最节约时间. 2. 对于某些bug没有头绪或者现象古怪不知道从哪里下手,找有经 ...
- (转)程序员新人怎样在复杂代码中找 bug?
我曾经做了两年大型软件的维护工作,那个项目有10多年了,大约3000万行以上的代码,参与过开发的有数千人,代码checkout出来有大约5个GB,而且bug特别多,open的有上千,即使最高优先级的s ...
随机推荐
- JavaScript中Promises/A+规范的实现
Promises是一种异步编程模型,通过一组API来规范化异步操作,这样也能够让异步操作的流程控制更加容易. 下面的代码是假设执行一个异步队列,每一项都会使用上一项返回的数据: function ne ...
- 重温Servlet学习笔记--request对象
request和response是一对搭档,一个负责请求一个负责响应,都是Servlet.service()方法的参数,response的知识点前面梳理过了,这里只说一下request,在客户端发出每 ...
- 编写高质量代码:改善Java程序的151个建议(第1章:JAVA开发中通用的方法和准则___建议16~20)
建议16:易变业务使用脚本语言编写 Java世界一直在遭受着异种语言的入侵,比如PHP,Ruby,Groovy.Javascript等,这些入侵者都有一个共同特征:全是同一类语言-----脚本语言,它 ...
- 【十大经典数据挖掘算法】Apriori
[十大经典数据挖掘算法]系列 C4.5 K-Means SVM Apriori EM PageRank AdaBoost kNN Naïve Bayes CART 1. 关联分析 关联分析是一类非常有 ...
- co.js - 让异步代码同步化
近期在全力开发个人网站,并且又沉淀了一些前后端的技术.近期会频繁更新. 这篇文章首发于我的个人网站:听说 - https://tasaid.com/,建议在我的个人网站阅读,拥有更好的阅读体验. 这篇 ...
- 安装Entity Framework【Setup Entity Framework Environment】(EF基础系列篇4)
Entity Framework 5.0 API是分布在两个地方:NuGet和.NET Framework中,这个.NET framework 4.0/4.5包含EF核心的API,然而通过NuGet包 ...
- Js apply方法详解
我在一开始看到javascript的函数apply和call时,非常的模糊,看也看不懂,最近在网上看到一些文章对apply方法和call的一些示例,总算是看的有点眉目了,在这里我做如下笔记,希望和大家 ...
- C#开发微信门户及应用(42)--使用Autofac实现微信接口处理的控制反转处理
在很多情况下,我们利用IOC控制反转可以很方便实现一些接口的适配处理,可以在需要的时候切换不同的接口实现,使用这种方式在调用的时候,只需要知道相应的接口接口,具体调用哪个实现类,可以在配置文件中动态指 ...
- identity与ASP.NET 模拟
默认情况下,ASP.NET应用程序以本机的ASPNET帐号运行,该帐号属于普通用户组,权限受到一定的限制,以保障ASP.NET应用程序运行的安全.但是有时需要某个ASP.NET应用程序或者程序中的某段 ...
- failover机制的小讨论
对于一个7*24小时无间断的线上服务来说,在服役时间内难免会遇到一些fail,例如db断开连接且短暂连接不上了, 下游的某个节点忽然挂了,运维部署上依赖的某一个东西不存在了等等场景.本文主要来讨论一下 ...