Я видел аналогичный вопрос, но я хотел получить дополнительную ясность, когда люди считают, что не использовать несколько операторов возврата. (Я считаю, что это вопрос агностики)Лучшие практики - заявления с множественным возвратом
Я всегда очень старался убедиться, что для метода всегда существует только одна инструкция exit.
Пример:
doSomething: function() {
for (var i = 0; i < 10; i++) {
if (objCars[i].color == "red") {
this.carIndex = i;
return true;
}
}
return false;
}
Раньше я бы переписан что-то вроде этого:
doSomething: function() {
var bResult = false;
for (var i = 0; i < 10; i++) {
if (objCars[i].color == "red") {
this.carIndex = i;
bResult = true;
break;
}
}
return bResult;
}
Теперь я знаю, что есть случаи, когда я мог бы пропустить по всей функции/метод полностью, поставив чек и вернусь в самом начале .. но в таких случаях .. лучше ли придерживаться единственного оператора выхода, или это действительно не улучшает читабельность кода даже в этом сценарии?
Спасибо, -Stephen
Это 100% основанный на мнениях. Я лично считаю, что первый подход более читабельен, но, как я уже сказал, он основан на мнениях. Кстати, в вашем втором подходе вы забыли добавить 'break'. –
вам не нужно стараться, чтобы одна функция возвращалась на каждую функцию, а иногда она может значительно упростить код для использования более одного. – dandavis