Écrire un code clair
Un programme est lu bien plus souvent qu'il n'est écrit : par toi dans un mois, par ton professeur, par un camarade. Un code clair est plus facile à corriger, à améliorer et à partager.
Le même programme, deux fois
Que fait ce programme ?
x est un nombre vaut 4
y est un nombre vaut 7
z est un nombre
z vaut x * y * 0.2
affiche x * y + z
Difficile à dire. Voici exactement le même calcul, écrit autrement :
// Prix d'une commande, TVA comprise
TVA est une constante vaut 0.2
quantite est un nombre vaut 4
prixUnitaire est un nombre vaut 7
prixHT est un nombre
prixHT vaut quantite * prixUnitaire
affiche 'Total à payer : ' + (prixHT + prixHT * TVA) + ' €'
Rien n'a changé pour l'ordinateur. Pour un humain, tout a changé.
Règle 1 : des noms qui ont du sens
Un bon nom dit ce que contient la variable :
prixUnitaire plutôt que p ;nombreDeVies plutôt que n2 ;estTermine pour un booléen.
Les noms d'une seule lettre sont réservés aux usages très courants : i, j pour les compteurs de boucle, x, y pour des coordonnées.
Pour un nom en plusieurs mots, on colle les mots en mettant une majuscule à chacun, sauf le premier : scoreDuJoueur. Un nom ne contient ni espace ni tiret.
Question : Quel est le meilleur nom pour une variable qui contient le nombre d'élèves d'une classe ? — nombreEleves. n ne dit rien, nombre est un mot du langage (un type). nombreEleves dit exactement ce que contient la variable.
Règle 2 : indenter
L'indentation, c'est le décalage vers la droite des lignes qui sont à l'intérieur d'un bloc. CoddyRun n'en a pas besoin, mais elle montre d'un coup d'œil ce qui dépend de quoi :
pour i de 1 à 3
si i mod 2 = 0 alors
affiche i + ' est pair'
sinon
affiche i + ' est impair'
fin si
fin pour
Chaque fin est aligné avec le mot qui a ouvert le bloc. Si un fin si manque, on le voit tout de suite.
Dans l'éditeur de CoddyRun, la commande Formater le code (Ctrl+Maj+F) remet tout le programme en forme d'un seul coup.
Règle 3 : des commentaires utiles
Un bon commentaire explique pourquoi, pas ce qui est déjà évident :
- inutile :
// ajoute 1 à compteur au-dessus de compteur ajoute 1 ; - utile :
// on commence à 1 car le joueur 0 est l'ordinateur.
Commence aussi ton programme par une ligne qui dit à quoi il sert, et écris une ligne de commentaire au-dessus de chaque fonction.
Règle 4 : pas de nombres mystérieux
Un nombre écrit en plein milieu du code, sans explication, s'appelle un nombre magique. Que signifie le 7 dans si essais > 7 alors ? Donne-lui un nom avec une constante :
ESSAIS_MAX est une constante vaut 7
essais est un nombre vaut 3
si essais > ESSAIS_MAX alors
affiche 'Perdu, tu as utilisé tous tes essais.'
sinon
affiche 'Il te reste ' + (ESSAIS_MAX - essais) + ' essais.'
fin si
Double avantage : le code se lit tout seul, et pour changer la règle du jeu, il n'y a qu'une seule ligne à modifier.
Règle 5 : découper
Un programme de cent lignes d'un seul bloc est difficile à suivre. Dès qu'un morceau a un rôle précis, fais-en une fonction ou une procédure avec un nom clair. Tu le verras dans les cours sur les fonctions.
L'outil Audit du programme de CoddyRun v4.3 vérifie justement ces points : noms trop courts, nombres répétés, indentation, commentaires... et donne une note à ton code.
En résumé
- Des noms qui disent ce que contient la variable.
- Une indentation régulière, avec chaque
fin aligné sur son bloc. - Des commentaires qui expliquent le pourquoi.
- Des constantes à la place des nombres magiques.
- Un code clair est un code que l'on corrige vite.