2

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

if (value == true) return;

同时标记多行 if 语句而没有大括号,例如

if (value == true)
    return;

作为违规行为?

4

2 回答 2

2

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

如果你不知道如何扩展声纳的编码规则,你可以在这里找到一个教程

于 2012-07-03T10:16:53.303 回答
0

SonarJava(SonarQube 中 Java 静态分析的默认插件)提供了始终为控制流结构强制使用花括号的规则。

但是,这将不允许单行 if 语句。您需要使用自定义插件为此创建自定义规则。请参阅编写自定义规则的教程。您可以使用SonarJava 规则的实现作为指导。

于 2017-09-27T09:49:44.307 回答