Autor
|
Tema: ¿ Por que los return no deben encontrarse dentro de los bucles ? (Leído 8,646 veces)
|
arts
Desconectado
Mensajes: 103
|
Hola a todos de nuevo, xD. Quería saber porque no es bueno utilizar return o break dentro de un bucle para salir de estos si ya has encontrado la letra, palabra dentro de una cadena por ejemplo, yo si lo encontraba devolvía el índice donde se había encontrado, de lo contrario devolvía -1 ya fuera del bucle y al corregirlo nos dicen que es una mala práctica de programación sin más explicación. ¿ Alguien sabe el por que ?. ¿ Es que antes no existían los return o break y por eso quieren que lo hagamos de otra forma ?.
|
|
|
En línea
|
|
|
|
тαптяα
Desconectado
Mensajes: 1.151
Sic utere tuo ut alienum non laeda
|
Mejor hacer while con condiciones.
|
|
|
En línea
|
|
|
|
arts
Desconectado
Mensajes: 103
|
Si, pero esperaba alguna explicación tipo es que hace menos evaluaciones en el código mejorando su rapidez, o puede dar problemas si se usa x cosas también o algo, no un simple es mejor usar while(cond1 y cond2parasalir) porque si :/ .
|
|
|
En línea
|
|
|
|
visualfree
Desconectado
Mensajes: 201
|
La respuesta se debe a que cada bucle tiene un "Fin" y no deberias forzar su termino, en definitiva estas rompiendo el para que fue creado.
Saluda Atte.
|
|
|
En línea
|
|
|
|
#!drvy
|
No se si va asociado específicamente con Java o no.. pero romper un bucle no tiene nada de peligroso ni malo.... de hecho no se que tal estará en java, pero en PHP por ejemplo, si rompes el bucle porque no lo necesitas mas, evitas que se procese el resto de información, resultado en ahorrar recursos/procesador y tiempo. Ahora si lo rompes para todo.. pues si es malo. Lo correcto seria romperlo solo cuando haga falta realmente. Aquí tienes una respuesta (en ingles) asociada a java. http://stackoverflow.com/questions/18188123/is-it-bad-practice-to-use-break-to-exit-a-loop-in-javaSi fuese mala practica.. no existira break... esta hecho precisamente para eso -_- ¿ Sabe tu profesor de lo que habla ? Saludos
|
|
« Última modificación: 24 Octubre 2013, 15:44 pm por @drvymonkey »
|
En línea
|
|
|
|
kaostias
Desconectado
Mensajes: 19
Mi método da menos excepciones ergo es mejor
|
El problema de los break es que en ocasiones hacen mucho más compleja la lectura del código, y el código tiene que ser escrito para que sea óptimo, pero también para que sea leído
|
|
|
En línea
|
- ¡Éste código sin documentar es un galimatías! - Es tuyo, de hace 3 semanas - ¡Es una obra maestra aunque esté sin documentar! ¿Qué decías que hace?
|
|
|
Mitsu
|
Que yo tenga entendido, return se usa para indicar la salida de un metodo no de un loop. Para un loop se usa break. Ejemplo: public class Hola { public void algo() { for (int i=0; i<5; i++) { if(i==3){ return; } } System. out. println("Yo no me ejecuto."); } public static void main (String... args){ new Hola().algo(); } }
|
|
|
En línea
|
|
|
|
arts
Desconectado
Mensajes: 103
|
Vale ahora lo entiendo, es un tema más bien que hace referencia a la legibilidad y coherencia de las estructuras. Lo que me hace pensar que un for está hecho para ir desde el principio hasta el final y while para recorrer desde el principio y condición que permita salir antes de llegar al final. Ok gracias por cierto creo que estoy aprendiendo aquí por el foro más que en clases xD.
|
|
|
En línea
|
|
|
|
robertofd1995
Desconectado
Mensajes: 172
|
Que yo tenga entendido, return se usa para indicar la salida de un metodo no de un loop. Para un loop se usa break. Ejemplo: public class Hola { public void algo() { for (int i=0; i<5; i++) { if(i==3){ return; } } System. out. println("Yo no me ejecuto."); } public static void main (String... args){ new Hola().algo(); } }
rdyoy aprendiendo programacion , estoy en primero de carrera , no se si es porq es un ejemplo , o por que es asi , pero no te faltaria declarar i , ya fuese como atributo , o como una variable local , que significa i++ ?
|
|
|
En línea
|
|
|
|
тαптяα
Desconectado
Mensajes: 1.151
Sic utere tuo ut alienum non laeda
|
Incrementa el valor de i, a posteriori.
Seria como hacer i = i +1;
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Return Fire2
Juegos y Consolas
|
juanjorome
|
2
|
2,077
|
3 Febrero 2005, 03:48 am
por juanjorome
|
|
|
Unos turistas denuncian a un hotel de Roses tras encontrarse una 'webcam' en ...
Noticias
|
wolfbcn
|
3
|
2,571
|
20 Enero 2012, 14:26 pm
por dato000
|
|
|
Dentro de los bucles
GNU/Linux
|
Sergiolocuelo
|
1
|
1,871
|
25 Agosto 2018, 01:03 am
por novicio
|
|
|
Desgraciadamente, aún existen proyectos en C, y deben ser mantenidos
Programación C/C++
|
Arhoc
|
9
|
19,293
|
9 Enero 2024, 18:52 pm
por Serapis
|
|