PHP #1 – Ecrire du code lisible, l’indentation
Cet article sera consacré à comment écrire du code plus lisible. Ecrire du code, c’est facile, écrire du code lisible et maintenable c’est une autre paire de manche :p. On va voir ma méthode pour réduire au maximum l’indentation et simplifier les tests.
Attention : Cela n’engage que moi et c’est ma vision personnelle.
Je voie beaucoup de code écrit de cette manière :
function maFunction($pMonParam)
{
// Le premier test
if( $pMonParam === 0)
{
// Mon code en conséquence
}
}
Pour plus de lisibilité, l’extrait de code ci-dessus pourrait être réduit à un seul niveau :
function maFunction($pMonParam)
{
// Le premier test
if( $pMonParam !== 0)
{
return;
}
// Mon code en conséquence
}
Le code ci-dessus à plusieurs avantages
- Il permet de garder à l’esprit que tous les tests primordiaux sont faits en amont du code métier et ainsi garder de la lisibilité pour un humain
- De garder de l’espace pour coder sans avoir à scroller ou à décaler ses yeux inutilement
- Eviter de wrapper le code dans un test
Un autre exemple de code avec des tests successives:
function maFunction($pMonParam, $pMonAutreParam)
{
if( $pMonParam === 0)
{
if( $pMonAutreParam === 0 )
{
// Mon code en conséquence
}
}
}
Cela peut-être réécrit simplement en :
function maFunction($pMonParam, $pMonAutreParam)
{
if($pMonParam !== 0)
return
if($pMonAutreParam !== 0)
return
// Mon code en conséquence
}
Ou même encore mieux, réduire les tests en un seul if
function maFunction($pMonParam, $pMonAutreParam)
{
if($pMonParam !== 0 || $pMonAutreParam!== 0)
return
// Mon code en conséquence
}
Les tests « && » et « || » permettent successivement de faire un « et » / « ou ». De cette manière, on concatène plusieurs tests dans le même.
Ps : J’avoue que des fois la gymnastique d’inverser les tests pour faire un return est parfois difficile, surtout avec plusieurs tests imbriqués.
Inspiré par : https://freek.dev/1593-writing-readable-php-decrease-indentation-by-returning-early
