elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  ¿ Por que los return no deben encontrarse dentro de los bucles ?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: ¿ Por que los return no deben encontrarse dentro de los bucles ?  (Leído 8,638 veces)
arts

Desconectado Desconectado

Mensajes: 103


Ver Perfil
¿ Por que los return no deben encontrarse dentro de los bucles ?
« en: 24 Octubre 2013, 01:14 am »

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 Desconectado

Mensajes: 1.151


Sic utere tuo ut alienum non laeda


Ver Perfil WWW
Re: ¿ Por que los return no deben encontrarse dentro de los bucles ?
« Respuesta #1 en: 24 Octubre 2013, 01:15 am »

Mejor hacer while con condiciones.


En línea

arts

Desconectado Desconectado

Mensajes: 103


Ver Perfil
Re: ¿ Por que los return no deben encontrarse dentro de los bucles ?
« Respuesta #2 en: 24 Octubre 2013, 01:34 am »

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 Desconectado

Mensajes: 201


Ver Perfil
Re: ¿ Por que los return no deben encontrarse dentro de los bucles ?
« Respuesta #3 en: 24 Octubre 2013, 13:40 pm »

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


Desconectado Desconectado

Mensajes: 5.850



Ver Perfil WWW
Re: ¿ Por que los return no deben encontrarse dentro de los bucles ?
« Respuesta #4 en: 24 Octubre 2013, 15:40 pm »

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-java

Si 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 Desconectado

Mensajes: 19


Mi método da menos excepciones ergo es mejor


Ver Perfil
Re: ¿ Por que los return no deben encontrarse dentro de los bucles ?
« Respuesta #5 en: 24 Octubre 2013, 19:31 pm »

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

Desconectado Desconectado

Mensajes: 259



Ver Perfil WWW
Re: ¿ Por que los return no deben encontrarse dentro de los bucles ?
« Respuesta #6 en: 24 Octubre 2013, 19:52 pm »

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:

Código
  1. public class Hola {
  2.  
  3. public void algo() {
  4. for (int i=0; i<5; i++) {
  5. if(i==3){
  6. return;
  7. }
  8. }
  9. System.out.println("Yo no me ejecuto.");
  10. }
  11.  
  12. public static void main(String... args){
  13. new Hola().algo();
  14. }
  15. }
  16.  
En línea

arts

Desconectado Desconectado

Mensajes: 103


Ver Perfil
Re: ¿ Por que los return no deben encontrarse dentro de los bucles ?
« Respuesta #7 en: 24 Octubre 2013, 19:53 pm »

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 Desconectado

Mensajes: 172


Ver Perfil
Re: ¿ Por que los return no deben encontrarse dentro de los bucles ?
« Respuesta #8 en: 26 Octubre 2013, 22:28 pm »

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:

Código
  1. public class Hola {
  2.  
  3. public void algo() {
  4. for (int i=0; i<5; i++) {
  5. if(i==3){
  6. return;
  7. }
  8. }
  9. System.out.println("Yo no me ejecuto.");
  10. }
  11.  
  12. public static void main(String... args){
  13. new Hola().algo();
  14. }
  15. }
  16.  

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 Desconectado

Mensajes: 1.151


Sic utere tuo ut alienum non laeda


Ver Perfil WWW
Re: ¿ Por que los return no deben encontrarse dentro de los bucles ?
« Respuesta #9 en: 27 Octubre 2013, 14:04 pm »

Incrementa el valor de i, a posteriori.

Seria como hacer i = i +1;
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Return Fire2
Juegos y Consolas
juanjorome 2 2,075 Último mensaje 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,566 Último mensaje 20 Enero 2012, 14:26 pm
por dato000
Dentro de los bucles
GNU/Linux
Sergiolocuelo 1 1,867 Último mensaje 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,099 Último mensaje 9 Enero 2024, 18:52 pm
por Serapis
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines