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执行
加载全部内容
Ghidra-Ghidra(反汇编工具)下载 v9.0.4中文版281.6M962人在玩Ghidra反汇编工具是由美国安全局推出的专门用于分析软件和病毒的反汇编工具,通过Ghidra能够对各类代码进行分析,从而判断其漏洞和恶意程序,有需要的可以下载使用。
下载Clash for Windows中文版-Clash for Windows(编程辅助代理工具)下载 v0.17.1中文版191.8M201人在玩ClashforWindows是一款编程辅助代理工具,该软件已经汉化,软件也是绿色的,用户直接打开就能用,软件帮助各种编程平台进行代理管理,更好的帮助用户管理各平台。
下载UltraEdit破解版下载-UltraEdit下载 v27.10.0.1392.3M153人在玩UltraEdit是一套功能超级强大的文本编辑器,能够满足你一切编辑需要,UltraEdit可以编辑文本、十六进制、ASCII码,可以取代记事本内建英文单字检查、C++及VB指令突显,可同时编辑多个文件。
下载makecode离线版-makecode(离线编程软件)下载 v3.6.3官方版232.4M83人在玩makecode离线版是一款为了方便没有网络或是网络较差的学校进行Microbit教学的软件,不受网络限制,随时都可以使用,界面和官方界面是一模一样的,使用上也是一模一样的,是一款非常好用的软件。。
下载ilspy下载-ilspy反编译工具下载 v7.0.0.6488官方中文版3.3M82人在玩ilspy反编译工具是一款强大的反编译工具适用于.net平台使用ilspy反编译工具可以轻松的反编译C#及VB程序马上下载这款中文版的ILSpy反编译工具吧。
下载aetool编程器破解版-AE Tool下载 v5.5官方版11.2M67人在玩AETool是一款安卓EMMC编程工具,通常用于给手机和各类平板电脑的EMMC进行读写和编程工作,是一款非常专业的维修和root软件,有需要的可以下载使用。
下载鱼跃CMS-鱼跃CMS下载 v2.2.15官方版4.1M63人在玩鱼跃CMS是鲶鱼CMS开发的一款面向企业的内容管理系统,是目前最轻量的内容管理系统,鱼跃CMS包含了企业建站所需的不同功能模块,例如新闻中心、产品中心、单页面、网站基本组件块、企业信息等,可以帮助您方便地实现各类展示效果的企业网站。
下载大漠插件破解版-大漠综合工具下载 v7.2119免费版8.7M54人在玩大漠综合工具是一款识图找字模拟插件,能够帮助用户轻松识别图片中的文字,大漠综合工具集前后台,文字识别,图色,键鼠,窗口,内存,DX,Call等功能于一身。
下载DBF Viewer 2000(数据库浏览工具)下载 v5.95中文版3.5M49人在玩DBFViewer2000数据库浏览工具是一款标准的xBase数据库浏览工具,而且还是一个xBase编辑器。DBFViewer2000支持Clipper、FoxPro、VFP、DB2KDBF等多种文件格式;还拥有自动关联.DBF文件和快速浏览的功能。。
下载appium for windows下载-Appium(自动化测试工具)下载 v1.15.1官方版142.9M47人在玩AppiumForWindows是一款开源的、多平台的自动化测试工具,原来主要是一个移动端的自动化框架,可用于测试原生应用,现在在windows、mac上也有GUI程序,提供给大家的是windows版本,有需要的赶快下载吧。
下载