猜您喜欢:
FindBugs是款可以帮助用户快速查找出Java软件中隐藏bug的静态分析eclipse插件工具,支持命名、未使用的代码、嵌套、导入语句、字符串、括号、代码尺寸、终结函数、克隆、异常、日志检查等,找出hash equals不匹配,还可以可以构建自己的规则集。
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执行
能够查找Java软件中可能出现的bug
帮助java工程师提高代码质量以及排除隐含的缺陷
直接查找可能存在的空的引用、多余的变量等错误
看了这么多,你下载了FindBugs(静态分析Eclipse插件)吗?想要下载最新软件就来非凡软件站好玩的游戏、简单易懂的软件教程、令人耳目一新的游戏玩法这里统统都有,更多精彩不容错过!

java软件下载 java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,java软件下载也可以让您可以玩网络游戏、与世界各地的人们聊天欣赏三维图片等等。非凡小编推荐:java7、java8、java6

Apache Shiro(Java安全框架)v1.7.7 Apache Shiro 适用于开发程序的工作人员,是功能十...详情>>

Hutool(java工具包)v5.5.6 Hutool内置丰富的java工具,包括日期工具、转换工具、...详情>>

ThinkJava(Java开发环境)v1.6 ThinkJava是个可以让你更好的适用java编程的jav...详情>>

ApacheNetBeans17v19 ApacheNetBeans17为开发者提供了丰富的功能和特...详情>>
随着春节的脚步越来越近,数以亿计的人们开始踏上回家的旅程。然而,对于许多人来说,购买回家的火车票却成为了一个难题。特别是在春运高峰期,车票供不应求,使得这个过程变得更加困难。本文将分享一些实用的技巧和策略,帮助大家在这场“抢票大战”中取得胜利。提前规划行程首先
VMOS作为一款功能丰富的虚拟机应用,为用户提供了运行多游戏的便捷平台。那么,在使用VMOS时,该如何导入游戏呢?接下来,就和小编一起探索,如何在VMOS虚拟机中轻松导入所需游戏。只需简单几步操作,即可实现游戏的快速迁移,享受VMOS带来的高效与便捷。vmos导入游戏步骤一览1、在vmos Pro打开一个虚拟机,然后点击下方的【文件传输】2、跳转页面后,点击【我要导入】3、接下来,点击【应用】4、
智行火车票是一款高效好用的手机线上出行订票软件,所有的行程都能够自定义更改,还可以在线买机票办理值机,本期小编给大家带来了详细的操作攻略,有想知道的朋友千万不要错过!智行火车票办理值机方法介绍首先打开手机中的智行火车票APP,登录之后进入首页,然后输入自己乘坐车的起始点和终点站,选择日期,最后点击查询会有不同时间的车次,选择有票的点击一下选好之后点击后面的预定添加乘车人的信息之后就可以选择座位了,
阿里云盘是一款十分好用专业的文件储存管理软件,用户们可以随心所欲的进行各种文件储存,所有的功能都是很全面的,下面小编就来为大家介绍一下设置教程,有需要的小伙伴及时关注哦!阿里云盘使用教程1、打开阿里云盘app,点击“+”按钮。2、选择上传到云盘的文件类型,支持照片、视频、文件等格式!3、选择需要上传阿里云盘的文件。4、在点击右上角的上传选项,等待上传的时间!5、完成传输列,操作完成,目前上传和下载
找最实惠的药品,再也不用东奔西走!现在,各省市都推出了药品比价查询入口,让您动动手指就能轻松比较不同地方药品的价格。无论是常用药还是处方药,想要知道哪里买更划算,这个查询工具都能帮到您。省钱又省心,快来看看怎么用吧!各省市药品比价查询入口最新(部分)上海市黑龙江省河南省河北省江西省湖北省广东省PS:点击省市名字跳转查看截至2025年1月,关于医药比价的最新新闻显示,全国已有29个省(自治区、直辖市
想在微信公众号的评论区发图片分享心情或见解?其实操作很简单哦。只要按照正确的步骤,你也能轻松把自己的照片添加到评论里,和更多朋友互动交流。微信公众号评论怎么发图片1、iOS / 安卓用户在将微信更新到最新版 8.0.55 后,点击公众号文章底部留言功能,留言页面会显示图片按钮。2、用户点击“图片”按钮,即可打开相册,选择在评论中想要附上的图片,每条评论只能选择一张图片。3、图片评论效果如下图选择图
本站所有资源(含游戏)均是软件作者、开发商投稿,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!本站将不对任何资源负法律责任,所有资源请在下载后24小时内删除。
如侵犯了您的版权、商标等,请立刻联系我们并具体说明情况后,本站将尽快处理删除,联系
(版权说明注意事项)。若有关在线投稿、无法下载等问题,请与本站客服人员联系
!
用户可自行按线路选择相应的下载点,可以直接点击下载/另存为,若直接点击下载速度太慢,请尝试使用高速下载器。为确保下载的文件能正常使用,请使用WinRAR最新版本解压本站软件。
建议大家谨慎对待所下载的文件,大家在安装的时候务必留意每一步!关于360安全卫士或QQ电脑管家的有关提示,请自行注意选择操作。