Examples from Martin Fowler's Book:
Addison Wesley, 2001, ISBN 0201485672
![]()
Example 1: Which code is easier to understand? Why?
double getPayAmount() {
double result;
if (_isDead) result = deadAmount();
else {
if (_isSeparated) result = separatedAmount();
else {
if (_isRetired) result = retiredAmount();
else result = normalPayAmount();
}
}
return result;
} |
double getPayAmount() {
if (_isDead)
return deadAmount();
if (_isSeparated)
return separatedAmount();
if (_isRetired)
return retiredAmount();
return normalPayAmount();
}
|
![]()
Example 1: Which code is easier to understand? Why?
if (!isSummer(date)) charge = winterCharge(quantity); else charge = summerCharge(quantity); |
if (isSummer(date)) charge = summerCharge(quantity); else charge = winterCharge(quantity); |