Utilisation de break et continue

Utilisation de break et continue

by Antoine Adrien Jean Basseto -
Number of replies: 3

Bonjour,

Dans le cours il est dit qu'il faut éviter l'utilisation de break et continue, et que ces instructions peuvent toujours être remplacer.

Cependant en faisant le homework j'ai l'impression que break peut être utile et rends le code plus lisible. Pour donner un cas plus concret : j'ai un break à l'intérieur d'une boucle itérant sur ma base de donnée pour la quitter si jamais j'ai déjà assez de query result (j'imagine que l'on peut trouver des exemples pour continue aussi).

Ce cas de figure est-il une mauvaise utilisation de break ? Serait-ce pénalisé ? Et si oui, est-ce qu'un return prématuré serait aussi pénalisé par exemple ?


Merci d'avance,

Antoine Basseto



In reply to Antoine Adrien Jean Basseto

Re: Utilisation de break et continue

by Cédric Hölzl -

Un break (sauf dans le cas d'un switch case) est une mauvaise pratique, elle complique la comprehension d'une boucle. Il existe toujours des methodes plus simples et plus comprehensible tel que: modifier la condition d'iteration, ajouter un if/else, décomposer en sous-fonctions, etc 

In reply to Antoine Adrien Jean Basseto

Re: Utilisation de break et continue

by Jean-Cédric Chappelier -

Pour compléter la réponse de Cédric : par contre un return « prématuré » (comme vous dites) n'est pas un problème en soit (si tout ce qui faut faire avant de return a été fait) car on sait où l'on va : hors de la fonction. C'est clair. Ce qui pose problème dans les break c'est que ce n'est pas toujours clair (pour un humain qui n'arrive pas à avoir toute la complexité du code en tête) où il saute ( = ce qu'il « break » exactement) ; c'est ça la source d'erreur des break; : qu'ils finissent par « break  » autre chose que ce que l'on pensait. Un return, il retourne toujours, simplement.