未记录的 API 声纳规则在声纳 6.5 中不起作用?

规则“公共类型、方法和字段 (API) 应使用 Javadoc 进行记录”似乎在 SonarQube 6.5 中不起作用。


我激活了 Java 质量配置文件中的规则,将配置文件设置为默认配置文件,并通过mvn sonar:sonar命令运行我的 Java 代码库。


它没有发现任何违反此规则的行为,即使某些方法缺少 Javadoc。其他规则可以很好地发现违规行为。


我的测试课是这样的:


package counter;


/**

 * This is a Javadoc comment

 */

public class MyClass {    


 public static final int DEFAULT_STATUS = 0;    // Compliant - static constant

 private int status;                           // Compliant - not public


 public String message;                  // Noncompliant


 public MyClass() {                         // Noncompliant - missing documentation

   this.status = DEFAULT_STATUS;

 }


 public void setStatus(int status) {  // Compliant - setter

   this.status = status;

 }


 protected int doSomething() {

     return status + 24;// Compliant - not public

 }


 public int doSomething2(int value) {  // Noncompliant

     int a = value*8;

     return a*1;

 }


 public int doSomething3(int value) {  // Noncompliant

   return value*9;

 }

}


潇潇雨雨
浏览 94回答 2
2回答

HUX布斯

你可以做的是升级到 SonarQube 6.7.7,更新所有插件,检查使用的配置文件中规则的激活,然后再试一次。请注意,最新的 LTS 版本是 7.9,因此您应该准备从 6.7.x 升级到下一个主要版本 7.9。也再次更新插件。

神不在的星期二

终于明白了。在默认设置下,UndocumentedAPI规则仅适用于 api 包(api名称中包含的包)。在规则激活期间,提示菜单会询问应运行此规则的类模式。如图所示:现在我们可以根据需要轻松更改此设置。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java