FindBugs是一款静态分析eclipse插件工具,FindBugs可以帮助用户查找Java软件中可能出现的bug。直接查找可能存在的空的引用、多余的变量等错误。
1 、找出hash equals不匹配
找与equals()和hashCode()的实现相关的几个问题。这两个方法非常重要,因为几乎所有基于集合的类---List、Map、Set等都调用它们。
2、检测:忽略方法返回值
这个检测器查找代码中忽略了不应该忽略的方法返回值的地方。这种情况的一个常见例子是在调用String方法时。
这个错误很常见。在第2行,程序员认为他已经用p替换了字符串中的所有b。确实是这样,但是他忘记了字符串是不可变的。所有这类方法都返回一个新字符串,而从来不会改变消息的接收者。
3、检测:Null指针对null的解引用(dereference)和冗余比较
这个检测器查找两类问题。它查找代码路径将会或者可能造成null指针异常的情况,它还查找对null的冗余比较的情况。例如,如果两个比较值都为null,那么它们就是冗余的并可能表明代码错误。FindBugs在可以确定一个值为null而另一个值不为null时,检测类似的错误。
4、检测:初始化之前读取字段
这个检测器寻找在构造函数中初始化之前被读取的字段。这个错误通常是由使用字段名而不是构造函数参数引起的,例如在构造函数中读取未初始化的字段。
5、命名检查
对标准Java命令规范的测试:变量名称不应太短;方法名称不应过长;类名称应当以小写字母开头;方法和字段名应当以小写字母开头,等等。
6、未使用的代码检查
查找从未使用的私有字段和本地变量、执行不到的语句、从未调用的私有方法,等等。
7、嵌套检查
例如:switch语句应当有default块,应当避免深度嵌套的if块,不应当给参数重新赋值,不应该对double值进行相等比较。
8、导入语句检查
检查import语句的问题,比如同一个类被导入两次或者被导入java.lang的类中。
9、JUnit测试检查
查找测试用例和测试方法的特定问题,例如方法名称的正确拼写,以及suite()方法是不是static和public。
10、字符串检查
找出处理字符串时遇到的常见问题,例如重复的字符串标量,调用String构造函数,对String变量调用toString()方法。
11、括号检查
检查for、if、while和else语句是否使用了括号。
12、代码尺寸检查
测试过长的方法、有太多方法的类以及重构方面的类似问题。
13、终结函数检查
因为在Java语言中,finalize()方法不是那么普遍,它们的使用规则虽然很详细,但是人们对它们相对不是很熟悉。这类检查查找finalize()方法的各种问题,例如空的终结函数,调用其他方法的finalize()方法,对finalize()的显式调用,等等。
14、克隆检查
用于clone()方法的新规则。凡是重写clone()方法的类都必须实现Cloneable,clone()方法应该调用super.clone(),而clone()方法应该声明抛出CloneNotSupportedException异常,即使实际上没有抛出异常,也要如此。
15、耦合检查
查找类之间过度耦合的迹象,比如导入内容太多;在超类型或接口就已经够用的时候使用子类的类型;类中的字段、变量和返回类型过多等。
16、异常检查
针对异常的检查:不应该声明该方法而抛出java.lang.Exception异常,不应当将异常用于流控制,不应该捕获Throwable,等等。
17、日志检查
查找java.util.logging.Logger的不当使用,包括非终状态(nonfinal)、非静态的记录器,以及在一个类中有多个记录器。
18、Open—Close检查
检查文件或通讯方面,是否忘记Close的情况。
19、其它检查
其它缺陷清单可参见:缺陷清单。
20、构建自己的规则集
可以构建自己的规则集。
下载之后,把解压后的文件拷贝到 $ECLIPSE_HOME/plugins/目录下,重新启动eclipse即完成安装。
1、插件的设置:
安装好之后,可以通过 Projects > Property > FindBugs标签对其进行设置。设置方法可以根据自己的需要进行调整。
另外在 问题(Proplems)列表窗口(Windows > 视图 > 问题)的Filter设置里,把FindBugs的有关选项都check上。
2、插件的执行:
选中 所在项目,鼠标右键 > Find Bugs > Find Bugs执行
1:该下载地址为九点软件园本地下载地址,FindBugs下载包预览图如下:
2:下载包的正确包名:findbugs-3.0.1_9a9m.com.zip
e4a破解版下载-易安卓E4A(含破解补丁) V6.9破解版下载446M2679人在玩易安卓E4A是九点小编为大家推荐的一款非常好用并基于谷歌Simple语言、专为安卓系统开发应用打造的编程辅助工具软件,让安卓开发无限简单,可以说是安卓版本的易语言程序。
下载火山编程破解版下载-火山软件开发平台 V2.0绿色破解版下载1.2GB1769人在玩火山软件开发平台是九点小编为编程开发用户分享的全新专业且深受诸多用户们喜爱的软件开发编程工具应用,是一种目的硬件设备无关、目的软件环境无关、易学易用实用、完全本地化的软件快速开发平台,有着极高流畅度的专业型迅速软件软件开发平台
下载易语言5.9破解版下载-易语言 V5.9完美破解版下载313.71MB1049人在玩易语言是九点小编为大家推荐的一款转为国人而设计的编程软件,由大连大有吴涛易语言软件开发有限公司推出,通过对易语言的学习,即便用户的英语水平不够好也能够轻松进行编程操作,让那些想编程且又不会英文的朋友们,提供了一条快速进入Windows程序编程的大门,支持基于汉语字、词编程的、全可视化的、跨主流操作系统平台的编程工具。
下载appinventor下载-App Inventor安卓编程软件V2023最新版下载310M1007人在玩App Inventor是九点小编为程序员们推荐的一种基于Web的开发环境,用于创建Android应用程序。它是由麻省理工学院(MIT)开发的,旨在使移动应用程序开发变得更加易于学习和使用。
下载米思齐编程软件下载-Mixly(米思齐图形化编程工具) v2.0 RC4官方版下载263.2M737人在玩Mixly For Arduino(米思齐图形化编程工具)windows版,基于Google的Blockly图形化编程框架开发,目的是为了配合Arduino UNO开发板套件使用,实现Arduino程序的图像化编程,Mixly自带Java8运行环境,用户直接双击mixly.vbs即可使用。
下载oracle 客户端下载-Oracle 11G客户端(32/64位) v11.2.0.4.0免费版下载1.95G555人在玩oracle11g客户端 是从 Oralce 11gR2 的官方客户端安装包中而来的 Oracle 数据库客户端,专为企业设计,轻松运行大量数据库除了可以连接远程数据库以外,还包含 SQL Plus、JDBC Driver、ODBC Driver、Pro*C SDK、Net Configuration Assistant、Net Manager 等。
下载navicat15破解版下载-Navicat 15 绿色版下载115MB500人在玩Navicat 15是九点小编为大家推荐的一款功能强大的数据库管理软件,软件采用可视化操作方式,无需任何代码即可轻松完成数据库的增删改查、备份等操作,可以帮助用户更好的管理数据库。
下载jdk1.832位下载-Java jdk1.8(32/64)官方版下载340M483人在玩Java JDK是九点小编为大家推荐的一款适用于开发人员必备的一款环境开发软件,这款软件用于构建应用程序、applet程序以及java编程语言的组成部分。九点软件园为大家带来的是JDK1.8版本,下面为大家分享一下安装方法以及下载地址吧!
下载access2007官方下载-Access2007绿色独立版下载44MB406人在玩Access2007绿色独立版是九点小编为大家分享的一款从office软件包中提取出来的独立版的数据库软件,使用办公软件套件,可以方便用户在电脑中读取使用数据库,欢迎有需要的用户前来九点软件园分享的地址来获取这款Access2007绿色独立版,希望大家会喜欢!
下载jdk-8u201-windows-x64.exe下载-jdk-8u121-windows-x64(java se开发工具包) 下载194MB330人在玩jdk-8u121-windows-x64 ,最新的JDK 8u121 发布了,Java SE 8u121包括重要的安全修复。Oracle强烈建议所有Java SE 8用户升级到此版本,JDK 8u121包含 2016i 版本的IANA时区数据,还包含一些安全问题的修复,有需要的赶快下载吧!
下载