Я збираюся не погодитися з усіма вашими, молодими шпигунами, щодо цього.
Використання повернення в середині методу, порожнього чи іншого, є дуже поганою практикою з причин, які були досить чітко сформульовані майже сорок років тому покійним Едджером В. Дейкстра, починаючи з добре відомого "Заяви ГОТО, що вважається шкідливою" ", і продовження у" Структурованому програмуванні "Даля, Дейкстри та Хоара.
Основне правило полягає в тому, що кожна структура управління та кожен модуль повинні мати рівно один вхід та один вихід. Явне повернення в середині модуля порушує це правило і значно ускладнює міркування про стан програми, що, в свою чергу, набагато важче сказати, правильна чи ні програма (що є набагато сильнішою властивістю ніж "чи працює це, чи ні").
"Заява GOTO вважається шкідливою" і "Структуроване програмування" започаткували революцію "Структурне програмування" 1970-х років. Ці дві частини є причинами, які ми маємо сьогодні - тоді - інакше, в той час як - робити, та іншими явними конструкціями управління сьогодні, і чому оператори GOTO мовами високого рівня є у списку зникаючих видів. (Моя особиста думка полягає в тому, що вони повинні бути у списку вимерлих видів.)
Варто зазначити, що модулятор потоку повідомлень, перший шматок військового програмного забезпечення, який коли-небудь пройшов тестування з першої спроби, без будь-яких відхилень, відмов або багатослів’я, написаний мовою, яка навіть не мала заява GOTO.
Варто також згадати, що Ніклаус Вірт змінив семантику висловлювання RETURN в Oberon-07, останній версії мови програмування Oberon, зробивши це кінцевим фрагментом декларації типової процедури (тобто функції), а не виконуваний оператор у тілі функції. Його пояснення змін зазначило, що він зробив це саме тому, що попередня форма БУЛА порушенням принципу структурованого програмування з одним виходом.