我布置了一些维护任务的Java程序,发现这个:这个布尔setter是什么意思?
public void setActiveCode(boolean isActiveCode) {
this.isActiveCode = isActiveCode & Boolean.TRUE;
}
类型的this.isActiveCode
是boolean
,重复在类中的每个布尔制定者同样的概念。我无法弄清楚为什么这样做,我不能问最初的开发者。
会有这样做的任何正当理由吗?
我布置了一些维护任务的Java程序,发现这个:这个布尔setter是什么意思?
public void setActiveCode(boolean isActiveCode) {
this.isActiveCode = isActiveCode & Boolean.TRUE;
}
类型的this.isActiveCode
是boolean
,重复在类中的每个布尔制定者同样的概念。我无法弄清楚为什么这样做,我不能问最初的开发者。
会有这样做的任何正当理由吗?
这样做会有什么正当理由吗?
号这只是更与清晰度零增益冗长的代码(可以说,因为这里的清晰度损失你想知道它的全部)。
这让我想起
public boolean isTrue(boolean b) {
if(b == true) {
return true;
}
else {
return false;
}
}
不幸的是,你会在野外看到不时我。真是太伤心了
刚刚也是:http://i.imgur.com/1Dd3KLS.png – 2013-08-03 01:31:05
它的奇怪。布尔逻辑可以与逻辑&
一起使用,但这是无用的,因为a & true = a
。似乎是一个开发人员特定的OCD。
我当然想不起一个。看起来像[货物崇拜编程](http://en.wikipedia.org/wiki/Cargo_cult_programming)给我的一个主要例子。 –
不会。这证明了我的理论,即所有程序员都应该被迫背诵摩根法则。更不用说运营商的优先级和其他一些基础知识。 – EJP
特别奇怪的是,一个'&'是一个按位运算符,而不是普通的'boolean'运算符'&&',并且使用'Boolean.TRUE'而不是简单的'true'。 – jpmc26