描述:
程序员(特别是初级程序员)在开发过程中,程序bug往往是不可避免的。如何提高代码质量,找到并解决一些低级bug,Findbugs或许可以为你排忧解难。看Findbugs官网对其的描述:A static analysis tool to find bugs in Java programs.一款用Java语言开发的静态分析工具用来找bug(翻译不好别吐槽)
安装:
普通的Eclipse插件安装
Help>Install new Software...>Add... 然后输入Name:findbugs Location:http://findbugs.cs.umd.edu/eclipse>OK>选中FindBugs复选框点击Next>....(到这步还不会就去自杀吧)完了restart Eclipse即可完成安装
使用
选择一个你自己的工程,右键>FindBugs>FindBugs 这样插件就会自动去找代码里可能存在风险了
如果你的工程里有风险,工程名会变成project_name(12) 表示你的工程里可能存在12个风险 ,一层一层打开可以找到具体的风险,每个包名和类名上都会存在这个小括号
风险的代码,会在Eclipse代码显示窗口的左边,也就是显示代码行数的地方出现一个臭虫
我为了测试bug,我创建了一个名为findbugs_example的Java工程,写了一个存在风险的类
package org.quinn.example;
import java.sql.Connection;
import java.sql.SQLException;
public class Test2 {
public Connection con = null;
void executeUpd(String sql) {
try {
this.con.prepareStatement(sql);
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
对于编码习惯不好的人或者新手,代码的比较不容易看出来
右键findbugs_example开始找风险,提示我的工程有两个风险,点进去发现两个黄色臭虫
findbugs不同颜色的臭虫对应的bug级别也不相同
黑色:分类
红色:严重bug
黄色:警告
分析一下上面的代码
第一个臭虫,创建了一个con并赋初值为null,这种做法实际上是不推荐的,其他引用的地方可能会有空指针,另外从内存的角度考虑性能也是很低的,Java需要对改对象重新赋值,即改变引用地址的操作。
第二个臭虫,毫无疑问是空指针异常,我并未对赋了初值的conn设置值,使用该对象的时候自然会抛出NullPointException
我把上面的代码改变一下
package org.quinn.example;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Test2 {
public Connection con;
void executeUpd(String sql) {
try {
con = DriverManager.getConnection("");
} catch (SQLException e1) {
e1.printStackTrace();
}
try {
if (this.con != null)
this.con.prepareStatement(sql);
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (this.con != null)
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
再次用Findbugs寻找风险,提示工程已无风险
注意:Findbugs提示无风险并不代表你的工程就真的没有bug了,Findbugs并不能智能的找到所有的bug,你的代码最终还是得以测试的结果为准。Findbugs为你做的仅仅是找到一些比较简单的风险
- 大小: 36.1 KB
分享到:
相关推荐
Eclipse FindBugs 插件 安装指南 Eclipse FindBugs 插件 安装指南 Eclipse FindBugs 插件 安装指南
findbugs 代码检查 eclipse插件 3.0.0版本
安装方法: 下载文件后,解压edu.umd.cs.findbugs.plugin.eclipse_1.3.5.20080913内文件至Eclipse安装目录下的plugins文件夹,重启Eclipse。
eclipse插件
主要是eclipse插件FindBugs中错误的解释说明,帮助定位错误原因
Eclipse _插件 _FindBugs _使用手册.doc想不会都难啊 。
直接解压将解压后的文件放到eclipse/plugin目录下,重启eclipse即可。 此压缩文件有两个版本(1.3.9和3.0.1)自行匹配,保证可用。
帮助查找bug的 eclipse插件 findBugs
eclipse插件 优秀的代码检查工具 一般官网下载到的zip是findbugs的工程,不能直接用到eclipse上,把我传的这个文件解压后的文件夹放到dropins目录下就可以使用
将此插件解压放到eclipse的plugin目录下,在项目中选择build.xml文件,run as ant bulid,生成的html报告在d盘
eclipse中直接安装时不成功,然后下载该zip,直接解压到plugins目录下,重启eclipse即可,注意文件名必须为版本号,不能为其他字符信息,否则不成功,亲测。
eclipse 插件 findbugs 更方便的来找出bug。 更有用的是在andorid 中可以帮助找到闪退的原因,修复闪退 使用方法:直接解压到eclipse目录下的plugin 目录下
FindBugs既提供可视化 UI 界面,同时也可以作为 Eclipse插件使用。文本将主要使用将 FindBugs作为 Eclipse插件。在安装成功后会在 eclipse中增加 FindBugs perspective,用户可以对指定 Java类或 JAR文件运行...
findbugs2.0.2 eclipse 插件中文版 。 基于 edu.umd.cs.findbugs.plugin.eclipse_2.0.2.20121204 翻译 ,最新版本,火热出炉。 解压开放到 dropins 夹子即可~~~
Eclipse插件之Checkstyle/PMD/Findbugs(官方下载路径)
MyEclipse常用插件,资源文件插件propedit,代码自动检查插件findbugs和pmd,tomcat快速启动插件tomcatPlugin
FindBugs既提供可视化 UI 界面,同时也可以作为 Eclipse插件使用。文本将主要使用将 FindBugs作为 Eclipse插件。在安装成功后会在 eclipse中增加 FindBugs perspective,用户可以对指定 Java类或 JAR文件运行 ...
Androidstudio eclipse findbugs插件