findbugs类介绍(BetterVisitor)

来源:互联网 发布:linux grub2 修复 编辑:程序博客网 时间:2024/06/07 06:01

看这篇文章之前,建议大家先进行一些简单的自定义规则的实践。

findbugs自定义规则中比较重要的几个类:

BetterVisitor:

    此类实现了Visitor这个接口,在这个接口中定义了一系列的监察方法,在BetterVisitor这个类中除了实现了Visitor这个接口中定义的所有方法,还定义了一些自己的方法,接下来就来看看这些方法的作用:

1.visit(Code obj)

public void visit(Code obj) {        visit((Attribute) obj);        }

这个方法是自定义规则中最常用的,它的作用是:在检测某个检测类的不同方法时进入此方法
重写这个方法的时候一定要在方法中写:super.visit(obj)
<span style="white-space:pre"></span>public void visit(Code obj) {super.visit(obj);}
例如:
public class TestedClass {public void method1( ...) {.....}public void method2(...) {.....}}

在检测TestedClass时:当findbugs扫描到method1方法时就会进入visit(Code obj)方法中,在检测method1方法中代码的时候不会再进入visit(Code obj)方法中,直到扫描到method2方法的时候才会再次进入visit(Code obj)。

所以visit(Code obj)方法经常用来重置自定义规则类中的变量的。



0 0
原创粉丝点击