Java 将Sonar配置为忽略单行if语句

Java 将Sonar配置为忽略单行if语句,java,sonarqube,Java,Sonarqube,有没有一种方法可以将Sonar配置为忽略以下语句中的单行 if (value == true) return; 标记多行if语句时,不带大括号,例如 if (value == true) return; 违反规则?没有符合您需要的规则,但您可以使用XPath编写自己的规则。你可以找到一个教程 如果您不知道如何扩展sonar的编码规则,您可以找到SonarJava(SonarQube中Java静态分析的默认插件)提供的教程,该教程始终为控制流结构强制使用花括号 但是,这将不允许使用单行

有没有一种方法可以将Sonar配置为忽略以下语句中的单行

if (value == true) return;
标记多行if语句时,不带大括号,例如

if (value == true)
    return;

违反规则?

没有符合您需要的规则,但您可以使用XPath编写自己的规则。你可以找到一个教程

如果您不知道如何扩展sonar的编码规则,您可以找到SonarJava(SonarQube中Java静态分析的默认插件)提供的教程,该教程始终为控制流结构强制使用花括号


但是,这将不允许使用单行if语句。您需要使用自定义插件为此创建自定义规则。看见您可以使用它作为指导。

我完全同意这一点,但如何让XPath识别单行语句呢?当代码在AST中时,所讨论的语句不应该产生相同的结构吗?