Весь «однократный возврат из функции» восходит к временам в FORTRAN, когда можно было возвращать управление в разные места кода при возврате из ПОДПРОГРАММЫ. Обычный RETURN возвращается оператору после вызова подпрограммы. Однако FORTRAN (через альтернативный механизм RETURN) позволял возвращать управление в другие места, указанные вызывающей стороной. Призыв Дейкстры к «Единому входу, единственному выходу» был призывом избегать альтернативного механизма возврата из-за запутанного потока программы при использовании альтернативного механизма возврата.

«Единый выход» со временем превратился в единую точку возврата на тех языках, которые не поддерживали альтернативный возврат. В итоге получился шаблон кодирования, в котором локальная переменная использовалась для хранения возвращаемого значения, и оно изменялось в зависимости от условной логики с единственным возвратом в конце метода/функции/подпрограммы. Это нормально, если функция/метод состоит всего из нескольких строк, но по мере роста функций и увеличения количества условий область действия этой локальной переменной становится все больше и больше. В конце концов, он может стать слишком большим для одного экрана и прокручиваться за пределы верхней части дисплея.

Некоторые стандарты кодирования даже требуют такого поведения.

Это очень старомодный подход, и ему действительно нет места в современном коде, написанном от руки. Тем не менее, он все еще может иметь место в коде генератора кода, где мы можем быть на 100% уверены, что сгенерированный код никогда не будет ошибочным.