« Conseils de codage en C/Recherche des erreurs » : différence entre les versions

Contenu supprimé Contenu ajouté
Thierry46 (discussion | contributions)
opérateurs unaires et macros
Thierry46 (discussion | contributions)
Transfert depuis lisbilité
Ligne 95 :
Le contrôle du peut être effectué en utilisant le compilateur C avec options les plus strictes ou un outils qualité comme lint ou splint.
 
==Les variables ne doivent pas se masquer==
Une variable ne doit pas en masquer une autre. Cela se produit lorsque deux variables ont le même nom dans des blocs imbriqués.
 
===Justification===
Lorsque plusieurs entités sont désignées par le même nom et ne peuvent être distinguées que par leur position par rapport aux structures de contrôle, cela réduit la lisibilité du code et favorise l’apparition d’erreurs, en particulier lors de la maintenance du source.
 
===Exemple à ne pas suivre===
Dans l'extrait de source suivant, les variables i se masquent.
 
<source lang="C">
// Première déclaration de i
int i = 0;
// ...
{
// Deuxième déclaration de i
int i = 0;
// ...
i++;
// ...
}
</source>
Si la deuxième déclaration de i est supprimée, alors il y a un risque pour que l’incrémentation ne le soit pas, ce serait alors la variable déclarée hors du bloc qui serait utilisée, ce qui ne serait pas le comportement souhaité. Le code resterait alors valide et aucun problème ne serait détectée.
[[Catégorie:Conseils de codage en C (livre)]]