Ando un poco curioso. Como dice el título... ¿Interrumpes los ciclos o no?
Como bien sabemos Delphi al igual que muchos otros lenguajes tiene algunas cláusulas de escape para los ciclos... Break y Continue. La primera para forzar prematuramente el ciclo y la segunda para obviar la iteración actual y continuar con la siguiente.
Pues bien. Abro esto a modo de encuesta. Si te enfrentas a un algoritmo que tiene la particularidad de que puedes (y debes) finalizarlo cuando se cumple cierta condición, y que además puedes determinar la cantidad máxima de iteraciones o vueltas posibles... ¿Lo interrumpes con la señal de escape, lo finalizas de forma "legal" o prefieres seguir dejarlo que llegue al final cuando no se llega a cumplir tal condición?
¿Porqué pregunto esto? Simplemente porque he visto muchísimas veces esto:
delphi
for i := valorini to valorfin do begin // hacer algo... if Condicion then Breack; end;
Y me tiene por demás intrigado. ¿Que beneficio tiene el añadir un Break?
¿No les parece descabellado eso? Forzar el cierre de un for para dar fin a un ciclo del cual sabemos cuando debe terminar... Mi sentido lógico dice que es más apropiado en realidad hacer justamente algo más natural y no estar obligando a interrumpir el flujo normal:
delphi
i := valorini repeat // algo antes... i := i + 1; // algo más... until Condicion or (i = valorfin)
Quizá se malgasta algo de línea de códigos pero me resulta más sano, y quisiera escuchar a ustedes por que alternativas se inclinan.
Como tema relacionado... de entre los ciclos While y Repeat ¿Tienes alguna preferencia de uno sobre el otro? ¿Elijes según el contexto del problema (si lo amerita)? O bien... ¿tomas a uno u otro según tu gusto y sentir del momento?
Saludos,