作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一行代码看起来像这样:
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/
我想通过耳机播放音乐文件, 我现在正在做的是: 在 viewDidLoad 方法中:::: [[AVAudioSession sharedInstance] setCategory:AVAudioSe
我正在寻找一个 opencv 函数(在 python 中)检测人脸上的左耳 - 下巴 - 右耳(看起来像抛物线)线。有没有什么 haarcascade 在做这项工作?我已经知道正面或眼睛 haarca
我是一名优秀的程序员,十分优秀!