Замена вставленных условий предохраняющими
Полезность страницы:
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 оператора, при выполнении условия которого будет что-то делаться и будет производиться выход, а операторы, соответствующие обычному выполнению программы поместить в конце и без условий.
Комментарии