Я работаю с / на крайне устаревшем сайте, на который я бы не стал называть свое имя. Кажется, что в существующем коде существует повторяющийся шаблон, который выглядит следующим образом:
function foo() { $a = 'a'; $b = 'b'; return; $c = 'c'; $d = 'd'; }
Я очень не хочу удалять существующий код из функции, которую я не писал, и все работает как есть. Но я хотел бы знать, почему?
Все, что я узнал (за исключением вызова линии goto), говорит мне, что код, следующий за оператором return, бесполезен. Это? Почему предыдущий программист сделал это?
этот код после оператора return
никогда не будет выполнен. скорее всего, первоначальный разработчик захотел быстро проверить другие значения для переменных и оставил свои старые эксперименты в этой функции. используйте управление версиями, и вы можете удалить существующий код и восстановить его, если он вам понадобится снова
Код под статусом возврата бесполезен, он не будет выполнен.
Моя первая мысль заключалась в том, что человек, который написал код, первоначально добавил возврат, потому что код после него больше не нужно запускать, но по какой-то причине не хотел удалять другой код.
Пример того, где это может произойти, – это ситуация, когда автор переписывал код для его реализации по-другому. Они поставили новую реализацию над оператором return, но оставили код ниже этого, чтобы он был здесь как «ссылка» на то, как это было сделано. Таким образом, если они понимают, что что-то не работает в новом коде, у них есть старый код, который можно легко просмотреть.
По общему признанию, контроль версий и модульные тесты делают это намного менее полезным, но это не редкость делать в любом случае.