gpt4 book ai didi

java - findbugs 提示 Eclipse 的自动生成代码

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:36:01 25 4
gpt4 key购买 nike

这是 Eclipse 为我生成的 hashCode() 方法:

@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + (int) (id ^ (id >>> 32));
return result;
}

当我对此运行 findbugs 时,它提示最后一行:

Method ...hashCode() stores return result in local before immediately returning it [Scariest(2), Normal confidence]

谁在这里? Findbugs 还是 Eclipse?这是狡猾的吗?

我这辈子都不明白为什么这会让 findbugs 感到不安。代码非常清晰;在返回之前将其存储在本地不会使其更难阅读或更难维护;除非编译器写得非常糟糕,否则它也不会对性能产生任何影响。

然而这被归类为最可怕!

我错过了什么吗?

(很明显,代码可以在某些方面进行简化,并且以这种方式出现,因为就 Eclipse 而言,可能已经有其他字段进入哈希函数。但它特别我在这里询问的存储值然后立即返回它的问题,因为这就是 findbugs 所提示的。)

最佳答案

Who is right here? Findbugs or Eclipse? Is this dodgy?

晚安。代码风格主要是个人品味问题。在整个项目甚至整个世界拥有统一的代码风格是很有用的,但只要没有官方指南或整个社区普遍采用的规则,就没有更好或更坏的风格。

有时一些规则有实际好处。在某些情况下,Eclipse 的样式更具可读性(如果您有多个字段)。另一方面,正如@RomanC 所提到的,firebug 的规则具有在非必要时不使用变量的适配契约(Contract)的优势。

有时代码风格软件中的一些检查规则过于官方,但通常您可以关闭它们或降低它们的重要性级别。此外,我使用的 IDE 通常会在它自己生成的代码上放置代码过时警告。

注意:代码风格检查工具是可配置的。您可以只启用那些可以降低您、您的团队或组织的代码维护成本的规则。

关于java - findbugs 提示 Eclipse 的自动生成代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27931216/

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