Écrire du code PHP propre

Écrire du code PHP propre

28 May 2021

Écrire du code est une chose, mais écrire du code propre en est une autre.

Bien trop souvent, je vois des pages de codes à donner le vertige ! ? L'idée de cet article n'est pas d'inventer une convention de nommage, mais de reprendre ce qui se fait déjà et d'en faire un rappel.

L'habitude de coder proprement doit se prendre dès le départ afin que cela reste un automatisme par la suite.

Évidemment, il ne s'agit pas d'une règle obligatoire. Il se peut que certaines entreprises possèdent leur propre convention de nommage.

Les noms

Les variables, les fonctions et les méthodes sont à écrire en "camelCase", c'est-à-dire que le premier mot est en minuscule et les suivants débutent par une majuscule. Le nom ne possède ni chiffre ni espace :

$nomDeVariable = 'Ma valeur';
function maFonction() { ... }
public function maMethode() { ... }

Les constantes, elles, s'écrivent en majuscule et peuvent contenir des espaces matérialisés par un underscore _ :

const MA_CONSTANTE = 'Ma valeur';

Les tableaux PHP aussi possèdent leur type de nommage, notamment les clés qui s'écrivent en "snake_case" :

$utilisateur = [
   'first_name' => 'John',
   'postcode' => 10000
];

Les classes PHP s'écriront en "UpperCamelCase" ou "PascalCase". Le nom ne contient ni chiffre ni espace :

class MaClasse { ... }

Les accolades

Lors de la déclaration d'une fonction, d'une méthode ou d'une classe PHP, les accolades iront à la ligne :

// Fonction PHP
function maFonction()
{
   // ...
}

// Classe PHP
class MaClasse
{
   public function maMethode()
   {
       // ...
   }

   public function uneAutreMethode()
   {
       // ...
   }
}

Par contre, pour toutes les autres fonctions comme les boucles for, while, foreach ou pour un if, ou un switch, l'accolade restera sur la même ligne et sera précédée d'un espace.

// Boucle for()
for ($i = 0; $i < 10; $i++) {
   // ...
}

// Condition if()
if () {
   // ...
}

L'indentation

L'indentation est la partie la plus importante dans l'écriture dans un code ; sans ça, tout le code se retrouve collé à gauche et la lecture devient extrêmement compliquée.

On indente son code dès que l'on écrit du code à l'intérieur d'accolades.
Il s'agit de bien distinguer une boucle for par exemple, du code qui sera traité en intérieur :

for ($i = 0; $i < 10; $i++) {
   if ($i === 2) {
      echo 'Trouvé !';
      break;
   }
}