Faut il écrire du code php plus court ?
Je suis tombé sur cet article, utile pour les développeurs débutants, mais qui pourrait susciter le débat.
Il s’agit de 5 conseils pour condenser certaines écritures PHP.
Comme vous le savez, PHP n’est pas un langage compilé, un gain de place pourrait donc être un gain de performance lors du chargement des fichiers.
Mais est ce que cela rend le code réellement plus lisible ?
1- Ternary operator
Soit le code :
if ($b>10) {
$val = true;
} else {
$val = false;
}
On pourrait le remplacer en une seule ligne :
$val = $b>10 ? $val = true : false;
Certes c’est plus court mais que ce passe t-il si on veut rajouter une condition :
$val = $b>10 && $c<30 ? $val = true : false;
Cela se complique. Il m’est arrivé souvent de "casser" une ligne contenant un opérateur ternaire lorsque les conditions se complexifient. Attention donc à ne pas en abuser.
2- Utiliser la récursion
L’auteur de l’article nous explique qu’utiliser la récursion peut racourcir la longueur du code. On gagne donc en place. Mais que perd on à enchainer un nombre plus important d’appel à des méthodes ?
Je ne suis pas sûr que ce soit un gain dans tous les cas. Deplus, les récursions ne sont pas faciles à apréhender dans tous les cas.
…
Les autres points sont tout aussi discutables.
Je pense donc qu’il faut se méfier et ne pas faire la course au code le plus court, et souvent le plus obscur. Surtout lorsque l’on est plusieurs à travailler dessus. Mieux vaut trouver de bon standards et s’y tenir.
Je me souviens des IOCC, dont le but était de créer des code en C le plus court possible et exécutant des tâches complexes.
Original article writen by Alexandre Heimburger and published on Alheim | direct link to this article | If you are reading this article elsewhere than Alheim, it has been illegally reproduced and without proper authorization.
Quitte à réduire le code du premier point à une seule ligne, je l’aurais simplifié ainsi :
$val = $b > 10;
Cela ne résout pas le problème d’évolutivité que tu évoques à juste titre mais ça simplifie la version courte.
Jean-Marc Fontaine
6 Jan 10 at 12:21 pm
En effet c’est beaucoup plus simple
je n’avais donc pas les yeux en face des trous le jour où j’ai écrit ce billet
alheim
6 Jan 10 at 2:24 pm