Иногда мне нравится использовать операторы раннего возвращения, чтобы предотвратить вложенный оператор if, который я нахожу для менее читаемого кода.if-else или раннее возвращение
Мне интересно, существует ли какой-либо объективный или подавляющий общий консенсус, поскольку два из следующих шаблонов - лучшая практика? Я не думаю, что это субъективный вопрос, так как я действительно спрашиваю, есть ли почти объективные предпочтения.
void func() {
if (a) {
do b
}
else {
do c
}
}
или
void func() {
if (a) {
do b
return;
}
do c
}
Я всегда был в предположении, что операторы возврата, если это возможно, должны быть ограничены использованием в конце функции, потому что ее легче читать и понимать поток. Другие могут не согласиться с этим, но именно поэтому я выбрал первый фрагмент. – b85411
Я думаю, что это очень похоже на это http://stackoverflow.com/questions/36707/should-a-function-have-only-one-return-statement – hakim