我的IDE(IntelliJ IDEA的)告訴我,我不得不刪除這個括號的選項,如果聲明:應該在Java中避免多個if語句,如「if(condition)if(condition)...」嗎?
if (objectIsOfTypeFoo) {
if (objectOfTypeFooIsShared) {
// do something with Object of type Foo knowing that it's shared...
} else {
// do something with Object of type Foo knowing that it's not shared...
}
} else if (objectIsOfTypeBar) {
...
}
要成爲:
if (objectIsOfTypeFoo) if (objectOfTypeFooIsShared) {
// do something with Object of type Foo knowing that it's shared...
} else {
// do something with Object of type Foo knowing that it's not shared...
} else if (objectIsOfTypeBar) {
...
}
我明白這是有道理的,並它很容易失去縮進,但我擔心可讀性可能會受到影響。後者看起來更清潔,但是節省的空間是否值得潛在的混淆?
我認爲兩者之間的性能差異是微不足道的,如果有的話。
作爲一個後續問題:是否有限制多少'if(條件)可以適合一條線,或者說它在什麼點變得太多?
第一個示例更具可讀性,並且不太可能由於丟失大括號而導致問題 - 恕我直言 – MadProgrammer
運行時的性能差異爲零,因爲兩個版本的代碼都是相同的。編譯時的性能差異是一些額外花括號的花費。所以沒有。哦,並忽略IDE:它提供(在我看來)可怕的建議。 – dlev
我從來沒有見過IntelliJ推薦過這樣的東西。我會檢查你的風格設置。 – duffymo