« Discussion:Langage C++/Boucles & Structures Conditionnelles » : différence entre les versions

Contenu supprimé Contenu ajouté
on signe à la fin
Ppignol (discussion | contributions)
Ligne 42 :
Ce qui n'est pas moins lisible que l'exemple final, au contraire. Je conseille donc vivement de supprimer l'incitation à ne pas utiliser les ''else if'' qui font partie intégrante du langage. Leur utilisation ou non se fait principalement en fonction du contexte. Il faut utiliser la syntaxe la plus intuitive et donc celle qui correspond le mieux à la pensée pour un problème donné. En règle général je dirais que l'utilisation de ''else if'' doit se faire dans un schéma à n "cas" (ici on a bien 3 cas distincts : inférieur, égal, supérieur), mais où l'utilisation de "switch" s'avère impossible à cause de la nature des tests (ce qui est très fréquent).
--[[Special:Contributions/84.102.39.159|84.102.39.159]] 9 novembre 2008 à 17:24 (UTC)
 
:Je '''CONFIRME''' que l'utilisation de "else if" est une forme de bidouillage basée sur l'utilisation d'une facilité d'écriture du compilateur qui ne doit en aucun cas être utilisée en développement sous peine de bug de logique difficiles à déceler. La forme "if(){}else{if(){}else{}}"est beaucoup plus claire et ne change en rien le comportement du code. De plus cela permet de voir les portées de codes pour les éventuelles variables créés dans les imbrications de if.
:Enfin le code de démonstration n'a pas à être remis en cause car comme il n'est pas concret il peut très bien exister (ne connaissant pas les valeurs de "a" et de "b") et en fait, il existe puisque je me suis inspiré d'un code réel ou "b" est justement supérieur à 5. Ppignol 22 février 2011 à 14:21 (UTC)
 
==Remarque 2==
Autre chose, l'utilisation d'accolades, qui est même vivement recommandée dans l'article au sein des ''case'' d'un ''switch'' ne sert strictement à rien... Elle n'améliore pas la lisibilité du programme, car dans ce cas elle est dépendante de l'indentation et n'a aucun effet sur son execution. De plus, l'instruction ''break'' peut être présente avant la fin d'un ''case'', au sein d'une structure conditionnelle par exemple. Pire, le ''break'' peut ne pas être présent et le case suivant sera donc executé (accolades ou pas) ! L'utilisation d'accolades peut donc même porter à confusion !
Revenir à la page « Langage C++/Boucles & Structures Conditionnelles ».