Sí, puede [re] escribir programas sin declaraciones de interrupción (o retornos desde la mitad de los bucles, que hacen lo mismo). Pero es posible que deba introducir variables adicionales y / o duplicación de código, lo que generalmente hace que el programa sea más difícil de entender. Pascal (el lenguaje de programación) fue muy malo, especialmente para los programadores principiantes por esa razón. Su jefe básicamente quiere que programe en las estructuras de control de Pascal. Si Linus Torvalds estuviera en tu lugar, ¡probablemente le mostraría a tu jefe el dedo medio!
Hay un resultado informático llamado jerarquía de estructuras de control de Kosaraju, que se remonta a 1973 y que se menciona en el famoso (más) documento de Knuth sobre gotos de 1974. (David Thornley ya recomendó este documento de Knuth anteriormente) .) Lo que S. Rao Kosaraju demostró en 1973 es que no es posible reescribir todos los programas que tienen saltos de profundidad de niveles múltiples n en programas con profundidad de descanso menor que n sin introducir variables adicionales. Pero digamos que es solo un resultado puramente teórico. (¡¿Solo agregue algunas variables adicionales?! Seguramente puede hacer eso para complacer a su jefe ...)
Lo que es mucho más importante desde una perspectiva de ingeniería de software es un artículo más reciente de 1995 de Eric S. Roberts titulado Salidas de bucle y programación estructurada: reapertura del debate ( http://cs.stanford.edu/people/eroberts/papers/SIGCSE- 1995 / LoopExits.pdf ). Roberts resume varios estudios empíricos realizados por otros antes que él. Por ejemplo, cuando a un grupo de estudiantes de tipo CS101 se les pidió que escribieran código para una función que implementa una búsqueda secuencial en una matriz, el autor del estudio dijo lo siguiente sobre aquellos estudiantes que usaron un descanso / retorno / goto para salir de el ciclo de búsqueda secuencial cuando se encontró el elemento:
Todavía no he encontrado una sola persona que haya intentado un programa usando [este estilo] que haya producido una solución incorrecta.
Roberts también dice que:
A los estudiantes que intentaron resolver el problema sin utilizar un retorno explícito del ciclo for les fue mucho peor: solo siete de los 42 estudiantes que intentaron esta estrategia lograron generar soluciones correctas. Esa cifra representa una tasa de éxito de menos del 20%.
Sí, es posible que tenga más experiencia que los estudiantes de CS101, pero sin usar la declaración de interrupción (o equivalentemente regresar / ir desde el medio de los bucles), eventualmente escribirá código que, si bien nominalmente está bien estructurado, es bastante complicado en términos de lógica adicional variables y duplicación de código que alguien, probablemente usted mismo, pondrá errores lógicos al tratar de seguir el estilo de codificación de su jefe.
También voy a decir aquí que el trabajo de Roberts es mucho más accesible para el programador promedio, por lo que es mejor leerlo primero que el de Knuth. También es más corto y cubre un tema más específico. Probablemente incluso podría recomendarlo a su jefe, incluso si él es el administrador en lugar del tipo CS.