Sonarqube S2583在SonarJava 4.15.0.12310 + Sonarqube 5.6.4中报告为Blocker问题

时间:2018-02-19 19:01:15

标签: sonarqube

虽然S2583被定义为一个主要问题,但是报告为Blocker问题,是否有任何想法可以解释这一点?此代码部分被检测为阻止程序而不是主要问题。提前致谢

private final List<Object> lstError = new ArrayList<>(); // 1: Implies 'lstError' is not null...

// ... more code ...

public List<Object> getLstError() {
  return this.lstError != null ? lstError : null; //2: Expression is always true.
}

Reported issue vs defined rule image

1 个答案:

答案 0 :(得分:2)

每个问题都是根据规则在提出问题时的相关质量要求中保留的严重性报告的。一旦出现问题,即使您更改规则的严重性,也不会通过分析更改问题。例如,如果我:

  • 在我的个人资料中添加规则A作为阻止程序,并引发问题i1
    • i1是阻止者问题
  • 将规则A更新为严重,并引发问题i2
    • i2是一个关键问题。
    • i1仍是阻挡者
  • 更新规则A到Major和问题i3被引发
    • i3是一个主要问题。
    • i2仍然是一个关键
    • i1仍是阻挡者

等等......

请注意,您可以手动更新现有问题的严重性(假设您拥有项目的正确权限)。