Замена вставленных условий предохраняющими
Полезность страницы:
0/100
Метод обладает поведением, зависящим от условий, причем невиден обычный путь выполнения программы.
Использовать предохраняющие условия для исключительных ситуаций.
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();
};
Когда применяется обычная конструкция if-then-else, обычно подразумевается, что обе ветви равноправны. Если же условие ставиться на какой-то исключительный случай, то лучше сформулировать его в виде отдельного предохраняющего if оператора, при выполнении условия которого будет что-то делаться и будет производиться выход, а операторы, соответствующие обычному выполнению программы поместить в конце и без условий.
Комментарии