我維護由不再維護此產品的供應商編寫的代碼庫(舊版,Java 3)。明確施放回報
我經常遇到了這樣的事情:
private boolean doSomething() {
boolean success = false;
// do stuff
if (/*some stuff*/) {
success = true;
}
return success;
}
public void doStuff() {
boolean ok = (boolean) doSomething();
if (ok) {
// do stuff
}
}
所以,很顯然,他們正試圖確定方法成功/通過傳回一個布爾值,指示狀態(驗證)失敗......我個人認爲是糟糕的做法,我寧願給調用者一個例外泡沫,但那只是我。
我很困惑的部分,爲什麼/這個供應商經常顯式地將布爾型返回值轉換爲布爾值?這是多餘的,肯定會在運行時造成一些開銷,不是嗎?這一次我是否做錯了!? - 或者這只是我應該不注意的一些文體而已?
傳回方法成功狀態感覺像C到我... – SnakeDoc
@SnakeDoc:也許。除非在C中,他會返回一個整數並將其與0比較。很難說出人們的想法。 –
或者他們在想什麼...... – SnakeDoc