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