SonarQube插件开发自定义规则(6)注意事项

来源:互联网 发布:2017好玩的手游 知乎 编辑:程序博客网 时间:2024/06/01 08:46

1、单例模式

所有的规则类都是单例模式,所以规则类中最好不要有成员变量。若无法避免时,则必须在节点扫描前清空成员变量的数据。例如

private List<String> methodNameList = new ArrayList<String>();private List<VariableTree> variableTreeList = new ArrayList<VariableTree>();public List<Tree.Kind> nodesToVisit() {    return ImmutableList.of(Tree.Kind.METHOD,Tree.Kind.VARIABLE);}@Overridepublic void visitNode(Tree tree) {    // TODO}@Overridepublic void scanFile(JavaFileScannerContext context) {    //清空成员变量数据    methodNameList.clear();    variableTreeList.clear();    super.context = context;    super.scanFile(context);    // TODO}
原创粉丝点击