Pour moi le
break tout comme
continue et
return sont des instructions bien utile qu'il ne faut surtout pas avoir peur d'utiliser. Je trouve que contrairement à ce que certains disent ils rendent les programmes bien plus lisibles.
break ne doit pas être employé en début ou fin de boucle while bien évidement.
Par contre rajouter un booléen pour eviter un break comme dans l'exemple donné n'est pas plus lisible à mon avis, et dans certain cas, ça peut devenir carrément moche.
En effet on continue l'execution inutile d'une boucle. Pour peu que la boucle effectue plusieurs opérations à la suite, toutes les opérations suivantes devraient soit être exécutées pour rien soit être placées dans un if
break et
continue permettent d'éviter d'avoir trop de
if imbriqués qui sont à mon avis une des principales cause de code pas clair.
je trouve que un code du genre:
1 2 3 4 5 6 7 8 9 10 11 12 13
| for(MonObjet obj : listeObjets){
if (!obj.isValide() ) {
System.out.println("Erreur: données invalides");
break;
}
if (!obj.isTraitable() ) {
System.out.println(obj+" non traité");
continue;
}
obj.traitement();
System.out.println(obj+" traité");
} |
est autrement plus clair que
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| for(MonObjet obj : listeObjets){
boolean valide = obj.isValide();
if (valide){
boolean traitable = obj.isTraitable();
if(traitable){
obj.traitement();
System.out.println(obj+" traité");
} else {
System.out.println(obj+" non traité");
}
}else{
System.out.println("Erreur: données invalides");
}
} |
Partager