Différences entre les versions de « Discussion:Langage C++/Boucles & Structures Conditionnelles »

on signe à la fin
(on signe à la fin)
==Remarque 1==
--[[Special:Contributions/84.102.39.159|84.102.39.159]] 9 novembre 2008 à 17:24 (UTC)
Les recommandations données quant à (l') (la non) utilisation de ''else if'' sont très vivement critiquables. Les arguments donnés portent sur un exemple volontairement très mal écrit et intuitivement très mauvais : FaitAInferieurB() n'est pas appelé si a = 5, quelque soit b, c'est illogique. En utilisant ''else if'' on aurait tout aussi bien pu écrire l'exemple ainsi :
 
 
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)
 
==Remarque 2==
--[[Special:Contributions/84.102.39.159|84.102.39.159]] 9 novembre 2008 à 18:04 (UTC)
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 !
--[[Special:Contributions/84.102.39.159|84.102.39.159]] 9 novembre 2008 à 18:04 (UTC)