代码之家  ›  专栏  ›  技术社区  ›  MelleD

缺少测井参数声纳规则

  •  0
  • MelleD  · 技术社区  · 6 年前

    我很确定声纳规则是存在的,它显示了缺失的参数。 示例:

       LOG.info( "Sonar issue {}{}{}", "Missing", "1 parameter" );
    

    有人知道规则发生了什么吗?

    1 回复  |  直到 6 年前
        1
  •  2
  •   Wohops    6 年前

    据我所知,规则 squid:S2275 从SonarJava可以正确地在没有足够参数的情况下对此类调用提出问题。我可以让SonarJava analyzer使用最新发布的版本(5.3)在本地提出问题。

    然而,似乎在某种程度上规则的行为已经得到了改进,可以正确地处理 sl4fj 图书馆(见票据 SONARJAVA-2588 ).此文件已随 SonarJava 5.1.1

    另一点是,在SonarJava 4.9中,该规则的初始实现被一分为二(参见 SONARJAVA-2208 ):

    • 鱿鱼:S2275 :Printf样式的格式字符串不应在运行时导致意外行为
    • squid:S3457 :应正确使用Printf样式格式字符串

    因此,可能您的质量配置文件中没有启用这两条规则中的一条。然而,它仍然应该是S2275,这应该在您的案例中提出一个问题。因此,我希望该规则仍处于启用状态。这两条规则都是默认规则的一部分 声纳方式 质量概况。

    现在,因为您使用的是SonarJava 5.0.1 ,你可能是 未从最新修复中受益 改进对的支持 slf4j 正在更新 SonarJava插件从SonarQube实例到 最新发布版本 应修复问题并恢复规则的预期行为。