J'ai pas mal insisté dessus dans les premiers TP du tutoriel PHP, et cette fois j'y reviens avec un peu plus d'explications.
Quand vous créez un script PHP, vous devez
inventer des noms. Vous allez devoir donner des noms à différents types d'éléments :
- Les variables
- Les fonctions
- Les classes
L'idée est simple : il faut que vous fassiez l'effort de choisir des noms de variables et de fonctions clairs et compréhensibles.
Par exemple, voici des mauvais noms de variables :
- $temp
- $skrkds
- $x
- $data
- $info
- $val
- $val2
Je n'ai pas inventé ces noms de variables, en fait pour tout vous dire ce sont des noms que j'ai vraiment vus dans de nombreux codes source.
Par exemple,
$info : "info", oui mais info sur QUOI ?
C'est pourtant ça qui est crucial : savoir ce que contient une variable. Une variable contient toujours une info, c'est à vous de préciser laquelle.
Je ne vous parle même pas des variables "sans nom" :
$temp,
$tmp et compagnie. Ces noms sont à bannir absolument.
Mais à quoi ça peut servir de chercher un nom de variable clair ? Après tout, c'est mon code, c'est pour moi, je comprends très bien ce que je fais !
Faux.
Bien sûr que vous savez ce que vous faites (personne n'est dans votre esprit après tout

). Et pourtant le problème peut apparaître dans 2 cas :
- Si vous donnez votre code PHP à un ami pour qu'il vous aide à un endroit où vous bloquez, ou pour qu'il continue votre code. Essayez par exemple de montrer votre code PHP sur des forums sur internet, vous verrez que si vous utilisez des noms peu clairs, vous aurez beaucoup moins de réponses parce qu'il aura été bien plus difficile de comprendre le fonctionnement de votre code !
- Un autre cas (sous-estimé), c'est celui où vous retouchez votre code plus tard. Je ne dis pas le lendemain (les idées sont encore fraîches), mais dans 3 mois, ou même dans 3 semaines. Croyez-en mon expérience : il m'est arrivé de devoir relire mon code source en me demandant "Mais qu'est-ce que j'ai bien pu vouloir faire là ?"
Passez ne serait-ce qu'une seconde de plus à réfléchir à des noms clairs. N'ayez pas peur de mettre des noms un peu longs, ce n'est pas une perte de temps,
bien au contraire.
Vous pouvez utiliser le symbole underscore "_" pour remplacer les espaces, qui sont je vous le rappelle, interdits dans les noms de variables et de fonctions.
Voici quelques exemples de noms de variables clairs :
- $ip_visiteur
- $pseudo_membre
- $date_news
- $mot_de_passe
- $forum_selectionne
Pour finir, et en espérant vous convaincre parce que croyez-moi c'est très important, voici le même code source en deux exemplaires :
- Le premier contient des noms courts et pas clairs, il est difficile de comprendre rapidement ce qu'il fait.
- Le deuxième contient des noms un peu plus longs, mais au moins on arrive de suite à savoir à quoi sert telle variable et telle fonction.
Ces 2 codes produisent exactement le même résultat, simplement l'un d'entre eux est beaucoup plus compréhensible que l'autre.
Je vous laisse deviner lequel
Des noms de variables peu clairs
Code : PHP 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 | <?php
$mess_page = 20;
$ret = $bdd->query('SELECT COUNT(*) AS nb FROM livre');
$data = $ret->fetch();
$total = $data['nb'];
$nb_total = ceil($total / $mess_page);
echo 'Page : ';
for ($i = 1 ; $i <= $nb_total ; $i++)
{
echo '<a href="livre.php?page=' . $i . '">' . $i . '</a> ';
}
?>
|
Des noms de variables beaucoup plus clairs
Code : PHP 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 | <?php
$nombreDeMessagesParPage = 20;
$retour = $bdd->query('SELECT COUNT(*) AS nb_messages FROM livre');
$donnees = $retour->fetch();
$totalDesMessages = $donnees['nb_messages'];
$nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);
echo 'Page : ';
for ($page_actuelle = 1 ; $page_actuelle <= $nombreDePages ; $page_actuelle++)
{
echo '<a href="livre.php?page=' . $page_actuelle . '">' . $page_actuelle . '</a> ';
}
?>
|
C'est fou comment des noms écrits correctement en français permettent d'y voir plus clair.
