我佈置了一些維護任務的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