Voy a estar en desacuerdo con todos ustedes, jóvenes secuestradores en este caso.
Usar el retorno en medio de un método, nulo o no, es una muy mala práctica, por razones que fueron articuladas con bastante claridad, hace casi cuarenta años, por el difunto Edsger W. Dijkstra, comenzando con la conocida "Declaración GOTO considerada perjudicial ", y continuando en" Programación estructurada ", de Dahl, Dijkstra y Hoare.
La regla básica es que cada estructura de control y cada módulo debe tener exactamente una entrada y una salida. Un retorno explícito en el medio del módulo rompe esa regla y hace que sea mucho más difícil razonar sobre el estado del programa, lo que a su vez hace que sea mucho más difícil decir si el programa es correcto o no (que es una propiedad mucho más fuerte que "si parece funcionar o no").
La "Declaración de GOTO considerada perjudicial" y la "Programación estructurada" dieron inicio a la revolución de la "Programación estructurada" de la década de 1970. Esas dos piezas son las razones por las que tenemos if-then-else, while-do y otras construcciones de control explícitas en la actualidad, y por qué las declaraciones GOTO en lenguajes de alto nivel están en la lista de especies en peligro de extinción. (Mi opinión personal es que deben estar en la lista de especies extintas).
Vale la pena señalar que Message Flow Modulator, la primera pieza de software militar que NUNCA pasó las pruebas de aceptación en el primer intento, sin desviaciones, exenciones o palabrería de "sí, pero", se escribió en un idioma que ni siquiera tenía una declaración GOTO.
También vale la pena mencionar que Nicklaus Wirth cambió la semántica de la declaración RETURN en Oberon-07, la última versión del lenguaje de programación Oberon, convirtiéndola en una parte final de la declaración de un procedimiento escrito (es decir, una función), en lugar de una instrucción ejecutable en el cuerpo de la función. Su explicación del cambio decía que lo hizo precisamente porque la forma anterior ERA una violación del principio de una salida de la Programación Estructurada.