mardi 30 mai 2006
Conventions de nommage
Par ALkyD, mardi 30 mai 2006 à 10:58 :: Développement Web
Même si parfois j'ai tendance à ne pas les utiliser, les conventions de nommage des variables, des fonctions et des classes sont pourtant très utiles lors d'un développement web ou autre :
- 80% du coût engendré lors de la vie d'un programme est dû à sa maintenance.
- Il est rare qu'un programme soit toujours maintenu par son concepteur.
- Les conventions de nommage augmentent la lisibilité du code facilitant ainsi la compréhension et la vitesse d'appropriation de nouveau code par les ingénieurs.
- Si vous livrez votre code source en tant que produit à part entière, vous devez vous assurer qu'il est bien présenté et propre, tout comme les autres produits que vous créez.
Ces conventions sont présentées ci-dessous et reprennent en grande partie les conventions données par Sun (ceux qui s'occupent de java), présentes sur leur site :
Classes :
Les noms des classes doivent respecter les règles suivantes :
- La première lettre est en majuscule.
- N'utiliser que des lettres et des chiffres.
- La première lettre de chaque mot qui compose le nom de la classe doit être en majuscules.
- Donner des noms simples et descriptifs.
- Eviter les acronymes, hormis ceux communs (XML, HTML, URL...).
Variables et attributs :
Les noms de variables doivent respecter les règles suivantes :
- La première lettre est en minuscules. Ex. : maVariable, tabArticle, count, listeValeurs, ...
- N'utiliser que des lettres et des chiffres.
- La première lettre de chaque mot qui compose le nom de la variable doit être en majuscule (sauf la toute première lettre).
- Donner des noms simples et descriptifs.
- Ne pas commencer les noms par '-' ou '_' (bien que cela ne soit pas parfois possible).
- Variables d'une seule lettre pour un usage local (comme à l'intérieur d'une fonction).
Méthodes et fonctions :
Il existe plusieurs sortes de méthodes :
- Les accesseurs getXxx(), qui permettent d'obtenir la valeur de l'attribut (généralement privé) Xxx d'une classe.
- Les mutateurs setXxx(valeur), qui permettent de modifier la valeur de l'attribut (généralement privé) Xxx d'une classe.
- Les méthodes booléennes isXxx(), qui renvoie un booléen sur l'état de quelque chose. Ex. isReadable(), contraction de 'it is readable ?', littéralement 'est-ce lisible ?'.
- La première lettre est en minuscule, et la première lettre de chaque mot qui compose le nom de la fonction est en majuscules.
Constantes :
Les noms de constantes doivent respecter les règles suivantes :
- Toutes les lettres sont en majuscules.
- Séparer les mots par un underscore '_'.
- Donner des noms simpls et descriptifs.
- N'utiliser que des lettres et des chiffres.
- Ne pas utiliser des tirets '-' ou d'autres caractères (#, $, accents, ...).
La notation hongroire :
La notation hongroise est une variante de la notation ci-dessus, à la différence près que la première lettre (ou premier mot) qui compose le nom de la variable est remplacée par l'abréviation du type de variable. Par exemple :
- bView indique que c'est un booléen (b).
- iCount indique que c'est un entier (i).
- sLibelle indique que c'est une chaîne de caractères (s).
- cValue indique que c'est un caractère (c).
- ...
Divers :
Pour des questions de lisibilité, il est également conseillé d'aérer son code, c'est-à -dire de mettre des espaces utiles et de bien indenter son code :
- Mettre un espace avant et après le signe égal (=), le signe 'différent de' (!), le signe '=>' :
$var = 'Ma chaîne';
$n = 4;
$arret = true;
$tab = array('Pomme' => 'rouge', 'Poire' => 'jaune');
au lieu de
$var='Ma Chaine';
$n=4;
$arret=true;
$tab=array('Pomme'=>'rouge','Poire'=>'jaune');
- Mettre un espace après une virgule,
- Mettre l'accolade ouvrante en dessous du mot-clé, et non à côté (de préférence) :
if ($toto == 1)
{
...
}
au lieu de
if ($toto == 1) {
...
}
- Utiliser des guillemets simples. Avec des guiillemets doubles, PHP parse la chaîne contenue entre ces guillemets, c'est-à -dire l'analyse en recherchant d'éventuelles variables et les remplace par leur valeur. Alors qu'avec des guillemets simples, PHP affiche la chaîne telle qu'elle est écrite dans le code, ce qui est sensiblment plus rapide.




