Alheim

Architecture logicielle- Développement web – Technos et tout un tas de truc…

Archive for July, 2009

Faut il écrire du code php plus court ?

with 2 comments

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.

Written by admin

July 13th, 2009 at 9:36 pm

Posted in Code