Magic number

Magic number

by Jennyfer Hua -
Number of replies: 1

Bonjour, a un moment donné dans mon code je déclare et initialise une variable à 0 (car c’est ce qui a toujours été conseillé dans le mooc par exemple) : par exemple int nbR(0); puis je fais un cin >> nbR; 

Néanmoins, j’ai entendu que lors de la « correction » du code source imprimé on pouvait perdre un point  car étant considéré comme un « magic number ». Ainsi je voudrais savoir si je peux laisser cela comme ça sans aucun risque d’être considéré comme un magic number ou devrais-je plutôt faire int nbR; et non int nbR(0). 


Merci d’avance. 

In reply to Jennyfer Hua

Re: Magic number

by Ronan Boulic -

il est préférable de donner une valeur initiale nulle à pas de valeur initiale du tout.

La valeur initale de 0 peut rester telle quelle pour des variables de type compteur comme ce que vous décrivez. Cette valeur s'auto-documente ; il n'est pas nécessaire de la remplacer par un mot qui dirait la même chose ; ça serait contre-productif.

Dans le cas d'un autre message sur ce sujet de magic number, on avait un 0 comme valeur d'indice. Dans ce cas là c'est différent, on est en droit de se demander "que veut dire ce 0" ? "qu'est qui est rangé à cet endroit" ? etc... il faudrait en savoir plus sur le code pour décider quoi mettre pour le documenter correctement.