gpt4 book ai didi

pmd - 得墨忒耳法则 : Static property access

转载 作者:行者123 更新时间:2023-12-02 01:32:56 24 4
gpt4 key购买 nike

我有一行代码看起来像这样:

String someString = "something";
如果 (Foo.SOME_CONSTANT_STRING.equals(someString))

这会导致违规:“可能违反 Demeter 法则(静态属性访问)”

此处建议的方法是什么?

(编辑:我更改了代码示例)

最佳答案

访问静态变量的问题在于,您正在为难以测试的类强制执行外部状态。您应该通过类变量访问它,例如:

private final Foo SOME_CONSTANT = Foo.SOME_CONSTANT_STRING;
public void doSomething(){
String someString = "something";
if (SOME_CONSTANT.equals(someString)){
doTheWave();
}
}

通过 SOME_CONSTANT 的 getter,可以更精确地测试函数的“初始状态”。

关于pmd - 得墨忒耳法则 : Static property access,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33034777/

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