配置Sonar以忽略单行if语句

时间:2012-06-12 08:50:02

标签: java sonarqube

有没有办法配置Sonar忽略单行if语句,如

if (value == true) return;

虽然标记多行if语句,但没有大括号,例如

if (value == true)
    return;

违规?

2 个答案:

答案 0 :(得分:2)

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

如果您不知道如何扩展声纳的编码规则,您可以找到教程here

答案 1 :(得分:0)

SonarJava(SonarQube中Java静态分析的默认插件)提供the rule来始终强制控制流结构的花括号。

然而,这不允许单行if语句。您需要使用自定义插件为其创建自定义规则。见tutorial on writing custom rules。您可以使用implementation of SonarJava rule作为指导。