В программировании довольно много различных официальных терминов. Ещё больше полуофициальных или совсем неофициальных. К какой из этих групп принадлежит термин “мёртвый код” я не знаю (но вряд ли к официальной терминологии). Да и вообще наверно никто не будет утверждать, что приведенное здесь определение однозначно во всех случаях. Но мне оно попалось на глаза, поэтому решил поделиться.
Мёртвый код - это не код программы, которая умерла ))) Это нечто другое. Вот пример на Python:
Здесь у нас определена функция, где есть две инструкции return. Причём эти инструкции находятся в альтернативных ветвях, то есть в зависимости от значения входной переменной будет выполнена одна или вторая инструкция return. А если будет выполнена инструкция return, то любой код, который расположен после этой инструкции, выполняться уже не будет, так как данная инструкция выполняет выход из функции.
Код, который расположен после инструкции return или в какой-либо позиции, куда порядок выполнения кода не сможет привести, называется мёртвым кодом.
Хотя в нашем примере вторая инструкция return может быть выполнена, если входной параметр окажется равным или больше нуля.
Также не стоит забывать о том, что функция во всех случаях должна возвращать какой-то вменяемый результат. Поэтому вот такой вариант крайне нежелателен, хотя и не содержит ошибок с точки зрения синтаксиса:
В этом примере при входном параметре, равном 0, никакая инструкция return не будет выполнена. Функция в любом случае будет завершена и вернёт значение None, но это явно не то, что ожидал программист.
На этом всё. Подписывайтесь на канал, чтобы ничего не пропустить.