PHP 'else return' VS auto return - программирование

PHP 'else return' VS auto return

Что касается функций PHP, если вам не нужна функция для возврата BOOLEAN или STRING, существует ли разница между объявлением return при сбое условия, а не просто возможностью автоматического возврата функции?

Например,

Есть ли какая-либо внутренняя разница между:

function check() {
    if( 5 > $v ) {
        die('yes');
    }
}

function check() {
    if( 5 > $v ) {
        die('yes');
    }
    else {
        return;
    }
}

Очевидно, что они отображают то же самое, что и при неудаче условия "IF", ​​но внутренне, лучше, чем другое, ради памяти, безопасности, удобства использования или общего лучшая практика?

4b9b3361

Ответ 1

В этих операциях нет эффективной, реальной разницы в отношении памяти или безопасности. Нет, nada, zip, ноль. Они полностью идентичны. Несколько байтов, необходимых для хранения дополнительных кодов операций, не имеют значения, и если вы заботитесь о времени, затраченном на синтаксический анализ, токенизацию и интерпретацию кодов операций, вы занимаетесь микро-оптимизацией.

В терминах "юзабилити" первое более ясно. Возвращение из else глупо. Если бы я увидел это в живом коде, я бы предположил, что тот, кто его написал, был отвлечен при этом и очистил его.

Ответ 2

return во втором примере ничего не делает вместо увеличения синтаксического анализатора и работы компилятора, сбивает с толку читателя, что это правило, добавлять лишние строки в код и увеличивать размер приложения, и в итоге он не имеет никакого значения!

Ответ 3

Я предпочитаю первый. Это меньше строк сборки, поэтому они немного эффективнее (в двоичном размере NOT speed). Все функции определяют обратный адрес, когда функция выполняется независимо от того, что находится в функции, поэтому добавление дополнительного возврата просто заставляет его добавлять дополнительную инструкцию.

Я считаю его более читаемым и более распространенным.

Ответ 4

Я бы сказал, что первое проще читать, а последнее просто добавляет больше накладных расходов на предварительный процессор (и раздувание до размера файла). Однако он также дает понять, что функция не возвращает ничего конкретного (хотя имя функции или комментарии могут сделать это проще, чем логическая ветвь для этой цели.

Я понимаю и понимаю, что это примеры, но я хотел бы остановиться на краткой, но кратким.

[/имхо]