我使用的,如果沒有在Java中的東西支撐條件像的Java一行if語句
if(somecondition)
//Only one line Business logic
但一些告訴總是使用大括號甚至一個行語句像這樣
if(somecondition){
//Only one line Business logic
}
什麼是更好的根據java標準的方式?
我使用的,如果沒有在Java中的東西支撐條件像的Java一行if語句
if(somecondition)
//Only one line Business logic
但一些告訴總是使用大括號甚至一個行語句像這樣
if(somecondition){
//Only one line Business logic
}
什麼是更好的根據java標準的方式?
沒有真正的「標準」。我始終喜歡使用大括號,因爲如果你不,你的風險有人添加一個無辜的看着logging語句把你的代碼
if(somecondition)
//Only one line Business logic
到
if(somecondition)
log.debug("condition was true");
//Only one line Business logic
,然後事情停止工作:-)
+1代碼中斷的例子。此外,像checkstyle這樣的工具通常不允許裸if語句。 –
根據到java標準括號是更好的,因爲如果他們不在那裏編譯器必須工作更多,也將是性能問題。
性能問題?你的意思是編譯需要額外的時間嗎? –
是的,因爲如果沒有大括號的話,編譯器只能考慮語句中的一行 –
使用帶括號的if語句是java標準的更好的方法,因爲它增加了可讀性並減少了不必要的錯誤。
這兩個陳述有完全相同的效果,但我經常因缺乏大括號而遭受苦難,因此我總是會評論說,即使在1行陳述中也應該有大括號。這使得代碼更容易維護,並且可以節省很多頭痛的問題。我的經驗表明,如果一行if語句經常在後面的迭代中變成多行語句,那麼第一次不寫兩個{
會節省什麼,您將在稍後提供。
沒有裸體if語句。你只是在問問題。始終使用{}
在檢查錯誤或更新代碼時最好使用大括號。
想象。
if(answer.equals("add"))
addedValue += Scanner.readInt();
但是你有一個新的要求,只添加絕對值,所以你改變。
if(answer.equals("add2))
valueToBeAdded = Scanner.readInt();
if(valueToBeAdded < 0) valueToBeAdded = - valueToBeAdded;
addedValue += valueToBeAdded;
這不是一個真正正確的算法,只是一個可能發生的例子。
這是一個品味問題。我會使用大括號,否則不使用大括號,而是將所有代碼寫入一行以提高可讀性。
你也可以考慮使用一個三元操作
booleanExpression ? value1 : value2
除了@radai回答,如果你是一個真正邪惡的頭腦,當你看到一個,如果沒有括號,你可以做一些事情,這將使你通過在行(或某物)的第800列的同一行上添加一個分號來加入敵人。
像
if(condition) /*a loooot of whitespace*/ ;
//Only one line Business logic that will get executed whatever is the condition
這就是爲什麼我更喜歡使用大括號,並建議人們使用它們
取決於..後者是對我 – sanbhat
它只是一個良好的編程習慣更易讀。 – TheLostMind
我知道很多人死了,因爲他們沒有使用大括號。所以記得總是使用大括號。 – Maroun