Я занимаюсь рефакторингом большого документа javascript, который я взял из проекта с открытым исходным кодом. Некоторые функции используют непоследовательные операторы возврата. Вот простой пример того, что я имею в виду:
var func = function(param) {
if (!param) {
return;
}
// do stuff
return true;
}
Иногда функции возвращают логическое значение, иногда строки или другие вещи. Обычно они непоследовательно сочетаются с простым возвратом;
оператор внутри условного.
Проблема в том, что код сложен. Это синтаксический анализатор, который использует множество уникальных совпадений RegEx, создает и уничтожает узлы DOM на лету и т. Д. Предварительное тестирование показывает, что в приведенном выше примере я мог бы изменить оператор return;
на return false;
, но меня беспокоит то, что я могу не осознавать, что это оказало негативное влияние (то есть какая-то функция перестала работать) на скрипт, намного позже.
Итак, мои вопросы: есть ли преимущество использовать пустой оператор возврата? Могло ли это быть намеренно закодировано таким образом или это было просто лениво? Могу ли я изменить их все на return false,
или return null;
или мне нужно копаться в каждом вызове и выяснять, что они делают с результатами этих функций?