Это мой код ..
while (1) {
do_stuff;
do_some_checks;
do { warn error 1; last } if not OK;
do_more_stuff;
do_some_checks;
do { warn error 2; last } if not OK;
do_even_more_stuff;
do_some_checks;
do { warn error 3; last } if not OK;
...
#finally
last;
}
Я предпочитаю его приведенному ниже:
do_stuff;
do_some_checks;
if (!OK) {
warn error 1;
} else {
do_more_stuff;
do_some_checks;
if (!OK) {
warn error 2;
} else {
do_even_more_stuff;
do_some_checks;
if (!OK) {
...
}
# finally
success!
}
}
Единственное, что меня поражает каждый раз, когда я использую эту конструкцию иногдаЯ забыл добавить окончательный last
, что привело к бесконечному циклу.Но этот шаблон серии проверок и залога происходит так часто в моем коде, что конструкция быстро стала второй натурой.
Любой, кто приобрел такую же привычку, или, возможно, будет использовать какую-то альтернативу.
Заранее спасибо.