[:fr]La parole est aux speakers : Vincent BEAUVIVRE[:]

Publié le

[:fr]Jusqu’à l’AFUP Day 2020, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils ou elles aborderont lors de leur conférence !

La conférence

L’amour en héritage !

Ah ! le code «legacy», comme on l’aime ! Ce moment merveilleux où l’on vous présente le projet avec un petit sourire en coin : «bon ça n’est pas basé sur la dernière techno à la mode, mais ça marche !». Alors on commence à prendre «ça» par un bout et on réalise le désastre :

  • Pas de versionning
  • Fichiers de plus de 3000 lignes que même les anciens n’osent plus toucher
  • Code tiers inclus dans le projet
  • Framework qui fait de la magie noire
  • Code mort J’en passe, et des meilleures !

J’ai moi-même connu ce type d’aventure en boulot et en perso, et j’aimerais partager avec vous quelques bonnes idées, et des mauvaises à éviter. On va parler de refactoring, de transition douce, d’amélioration continue, d’arbitrages techniques… Et c’est l’occasion de prendre un peu de recul aussi, pour penser global, mais agir local ! Pas pour la planète, mais pour le projet !

En ligne
19/06/2020
15:10-15:50

Cela fait plus de 20 ans que tu développes autour de PHP : comment as-tu vécu ces différentes années et traversé les évolutions du langage ?

Ouhla ! Je me considère vraiment comme un enfant de la communauté PHP : je suis arrivé au développement PHP par curiosité, sans aucun background, et j’ai grandi dans mon métier par mes rencontres et mes découvertes. Toutes ces années, c’était palpitant de suivre l’évolution du langage. À mon avis, PHP a trouvé une belle maturité de son système d’évolution, basé sur les RFC. Je me souviens aussi des flottements, comme PHP6 … Avec PHP7, la communauté est parvenu à un bon équilibre entre : retro-compatibilité, évolution fonctionnelle (ce qu’il fait), évolution technique (comment il le fait) et innovations. Ce qui me rend très optimiste quant à son avenir, surtout au vue des orientations de PHP8.
J’ajoute que j’aime beaucoup partager sur des problématiques typiques avec des développeurs d’autres langages, et découvrir d’autres solutions, ou d’autres problèmes 🙂

S’il ne fallait en retenir qu’une, y aurait-il une pratique que tu conseillerais pour limiter le code legacy ?

Aïe ! Mes amis ! Je crois bien que c’est peine perdue ! Votre meilleur code d’aujourd’hui sera vraisemblablement un boulet pour quelqu’un d’autre, ou pour vous même 😛
Gardez cela en tête ! Ça permet de garder du recul, un point de vue extérieur, pour épargner quelques cheveux blancs à vos successeurs. Arrêtez-vous parfois pour considérer l’ensemble du tableau. Peut-être que les meilleures bourdes ou les pires couplements vous sauteront aux yeux.

Comment as-tu fait pour obtenir du temps pour supprimer du code legacy ?

Ça fait parti du job. En général, je «vends» le refactoring avec des évolutions. Je défends l’idée de devoir faire une transition en me basant sur des problèmes récurrents de perf ou des difficultés de maintenance. Un socle de base de cohabitation entre ancien et nouveau système est mis en place. Puis on s’engage dans une voie dans laquelle, à chaque modification d’une partie de ce code (évolution ou debug important), cette partie sera simultanément transposée dans un «nouveau système». La pédagogie n’est pas de trop pour expliquer ce qu’est la dette technique et quel est son enjeu. Et parfois, je l’avoue, il est plus efficace de passer ces idées discrètement 😛

Une conférence présentée par

Vincent BEAUVIVRE
Vincent BEAUVIVRE
Vincent est un autodidacte qui a grandi et mûri depuis 20 ans au même rythme que PHP. Depuis le ```echo date('d/m/Y');``` en php 4, jusqu’aux designs patterns d’aujourd’hui, et en passant par le code spaghetti, le mvc, composer, les orms, le tdd puis le ddd. Rien ne lui a été épargné ! Pas même phpnuke, joomla, wordpress, prestashop, ou magento. Pourtant il en redemande encore 🙂

Autres interviews

[:]