发现好应用、好游戏,做有态度的应用市场
当前位置:首页 > 电脑软件 > 编程开发 > FindBugs下载

FindBugs

  • 版本:v3.0.1
  • 大小:8.59 MB
  • 日期:2024-05-16
  • 语言:简体中文
  • 类别:编程开发
  • 环境:Windows11,Windows10,Windows8,Windows7,Mac,Linux
  • 安全检测:360通过腾讯通过
  • 本地下载
软件介绍

程序员在编写代码的过程中,可能不会时时刻刻检查空的引用、删除多余的变量,在自己测试的过程中可能难以发现问题,一旦app上线导致用户的使用环境改变,这些潜在的各种问题就可能会冒出来,尤其是空指针异常,这些错误对于用户体验来说是非常不好的,但其实大部分的问题我们都能够提前发现。今天介绍一个小插件-FindBugs,它是一款静态分析Eclipse插件工具,主要用于查找Java软件中可能出现的bug(编码错误)。该软件会检查类或者JAR文件,将字节码与一组缺陷模式进行对比以发现可能的问题,也可以可以在不实际运行程序的情况对软件进行分析。当然FindBugs不是通过分析类文件的形式或结构来确定程序的意图,而通常是使用Visitor模式。

FindBugs

FindBugs可检测的内容

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中的使用

下载之后,把解压后的文件拷贝到 $ECLIPSE_HOME/plugins/目录下,重新启动eclipse即完成安装。

1、插件的设置:

安装好之后,可以通过 Projects > Property > FindBugs标签对其进行设置。设置方法可以根据自己的需要进行调整。

另外在 问题(Proplems)列表窗口(Windows > 视图 > 问题)的Filter设置里,把FindBugs的有关选项都check上。

2、插件的执行:

选中 所在项目,鼠标右键 > Find Bugs > Find Bugs执行

用户评论
共0条评论
评分:
很好
(您的评论需要经过审核才能显示)

软件投诉或纠错

问题:
说明: 注:如有打开rar文件提示文件损坏错误,请先升级winrar到最新版。
邮箱: