1)我知道if…else if
語句如何工作,但在下一個示例中,就結果值而言,兩種方法都是相同的。那麼,我使用的兩種方法中的哪一種或者我應該總是選擇一種語義上最接近代碼的方法(這裏我猜這兩種方法在語義上是完全不同的)?那麼你會使用哪種方法,爲什麼?何時使用'if ... else if'以及何時使用
protected string GetNumberDescription(int value)
{
if (value >= veryBigNumber)
return veryBigNumberDescription;
else if (value >= bigNumber)
return bigNumberDescription;
else if (value >= smallNumber)
return smallNumberDescription;
else
return "";
}
protected string GetNumberDescription(int value)
{
if (value >= veryBigNumber)
return veryBigNumberDescription;
if (value >= bigNumber)
return bigNumberDescription;
if (value >= smallNumber)
return smallNumberDescription;
else
return "";
}
2)我注意到的代碼losts書面方式if ... else if
報表時採用以下格式:
if ...
else if ...
else ...
但不是(至少在概念上)比較正確的做法:
if ...
else
if ...
else ...
在Java上下文中的類似問題:http://stackoverflow.com/questions/3579918/programming-preference-use-else-ifs-with-multiple-return-statements/ – BalusC 2010-09-02 19:31:47
檢出http://www.refactoring。 com/catalog/replaceNestedConditionalWithGuardClauses.html ... – 2010-09-02 19:32:57
如果有人在由ifs塊處理的內部插入else if語句,則執行第一個操作可能會導致問題。問題是代碼冗餘和性能問題 – Woot4Moo 2010-09-02 19:49:15