Autor
|
Tema: Sobre el uso de break y continue. (Leído 6,605 veces)
|
RyogiShiki
Desconectado
Mensajes: 745
げんしけん - Hikkikomori FTW!!!
|
Hola gente!
Bueno quería preguntarles, ustedes que piensan acerca del uso de break y continue durante la ejecución de un loop, lo consideran una buena práctica? o por el contrario una práctica abominable al generar un flujo de ejecución irregular?
Como suelen usar ustedes estas dos?.
Talvez una de las opiniones con las que me siento más cómodo es decir que el uso en reducidas cantidades está bastante bien, y no supone mayor problema, pero un uso extensivo puede claramente terminar en código spaghetti.
Espero sus opiniones.
Saludos
|
|
|
En línea
|
|
|
|
$Edu$
Desconectado
Mensajes: 1.842
|
Deja un ejemplo de mal uso a ver.. no veo como darle un mal uso a eso xD
|
|
|
En línea
|
|
|
|
Runex
Desconectado
Mensajes: 192
http://tutogramacion.blogspot.com
|
No me gustan los saltos en los loops y como dices tú, tampoco el código spaghetti. Y ya ni hablemos del goto, eso ya si es el acabose, sobre todo el dolor de ojos que te deja cuando ves programas llenos de saltos de este tipo. De todas formas, a pesar de ser malas prácticas hay en ocasiones que no hay más remedio que usarlos, en especial el break en los switch de C, aunque hay técnicas de sobra para evitar su uso . Un saludo, Runex.
|
|
|
En línea
|
"No renunciaría al bambú. Nunca renuciaría a ti. No te compares con otros" "El me dijo: El bambú tenía un propósito diferente al del helecho, sin embargo eran necesarios y hacían del bosque un lugar hermoso".
|
|
|
RyogiShiki
Desconectado
Mensajes: 745
げんしけん - Hikkikomori FTW!!!
|
esto es hipotético pero a veces me he topado con cosas como: while ( true ) { if ( ... ) { break; } else { if ( ... ) { break; } else { continue; } continue; } }
Esto es simplemente spaghetti! ilegible, dificil de entender, poco escalable, dificil de mantener y debuggear. Digamos que se vuelve ilegible usar tambipen continue y break en loops que se hacen bastante grandes y que de por si ya son complejos como para agregarles un interruptor en el flujo de ejecución. Cosas de ese estilo que generan flujos de ejecución irregular que a veces se difuminan y se parecen más a un goto.
|
|
« Última modificación: 18 Mayo 2012, 02:57 am por RyogiShiki »
|
En línea
|
|
|
|
$Edu$
Desconectado
Mensajes: 1.842
|
Ah si, ahi si esta feisimo jajaja, pero hay de todo.. mientras vos programes bien mejor para ti xD
|
|
|
En línea
|
|
|
|
Saberuneko
|
El problema viene cuando te toca revisar un source que viene en ese estado. x3
|
|
|
En línea
|
|
|
|
Roboto
|
hace 2 dias use un break.
tenias k comprobar un arraylist con elementos. imaginate k el arraylist Y/o Array en otro lenguaje de programacion tiene 100 elementos.
y kieres comprobar k dentro de ellos no haya un 4.
si la posicion del array ARRAY[0]==4. se cumple la condicion,problema,como hay 100 elementos,tiene k hacer el bucle 99 veces mas,aun sabiendo k la condicion ya se da.
por eso se mete un break; para evitar k siga esas 99 veces el bucle.
|
|
|
En línea
|
|
|
|
Saberuneko
|
No necesitas el break para eso. Tan sólo pon la condición tal que WHILE ARRAY[count] != 4 AND count > 99 Si aparece un 4 o alcanzas el 100, el proceso sale del bucle. Poner un break dentro de una estructura de control suele ser innecesario en la mayoría de los casos si usas las estructuras de control correctamente. (Excepto las CASE).
|
|
« Última modificación: 21 Mayo 2012, 20:51 pm por Saberuneko »
|
En línea
|
|
|
|
Caster
|
Pues me gustarña que opinaseis sobre este tema, en el libro que estoy leyendo sobre C, acabo de empezar las funciones y el ultimo tema iba sobre las estructuras de control y trataba esto, pero no decia que fuese mejor evitarlo no como el goto que si te advierte de que te enseña su funcionamiento como uso ilustrativo, que es mejor evitarlo.
|
|
|
En línea
|
|
|
|
$Edu$
Desconectado
Mensajes: 1.842
|
Habria que ver como quedan los codigos pasados a ASM, para ver cual sirve mas, porque yo un break para cuando hay que hacer algo como dijo Galo, lo uso siempre y tambien el continue. Por algo estan.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
script stop y continue
PHP
|
OssoH
|
3
|
3,843
|
15 Agosto 2010, 20:20 pm
por ~ Yoya ~
|
|
|
duda con el brake, continue
Programación C/C++
|
drk00
|
7
|
3,397
|
22 Julio 2011, 14:46 pm
por KaL3o
|
|
|
triangulo divisiorio usando continue
Programación C/C++
|
cazagavilan
|
7
|
3,423
|
25 Julio 2011, 21:02 pm
por Queta
|
|
|
Duda sobre el uso de break;
Programación C/C++
|
Caster
|
2
|
2,241
|
31 Octubre 2012, 20:34 pm
por Caster
|
|
|
Veo los primeros archivos de los CDs que grabe y continué.
Software
|
hackmastter
|
0
|
1,008
|
1 Octubre 2014, 02:46 am
por hackmastter
|
|