gpt4 book ai didi

java - Java代码中方法签名后禁止括号

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:19:50 24 4
gpt4 key购买 nike

在我最近的项目中,我遇到了可以完美编译的代码,但是对于任何读者来说都是非常令人惊讶的,不应该通过静态分析。

class BracketsAfterMethodSignature {
Object emptyArray()[] {
return new Object[]{};
}
}

我们使用 Checkstyle、PMD、ErrorProne 和 SonarLint,但这些工具都不会提示这种结构。是否有任何可启用的规则或可用于防止此类代码的工具?

显然是 Checkstyle 的 ArrayTypeStyle不包括这种情况。

编辑

我正在对扩展名为 .groovy 的文件运行静态分析,SonarLint 说这段代码没问题。将扩展名更改为 .java 后,它检测到了问题。事实上,在更新到 8.18 后,Checkstyle 也能正确识别它。

最佳答案

Sonar 有规则 squid:S1195 Array designators "[]" should be located after the type in method signatures

此规则在 Java 的“Sonar Way”质量配置文件中默认启用,并将其归类为“代码味道”,默认严重性为“轻微”。

因此,SonarLint 应该突出显示问题中的代码 - 在我的测试中,eclipse 插件“SonarLint for Eclipse”版本 4.0.0.201810170711 正确地在方法声明后的左括号处放置了一个标记 (在没有配置 SonarQube 服务器连接的项目中)。Eclipse 版本为 2018-09 (4.9.0)

关于java - Java代码中方法签名后禁止括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53855343/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com