La dette technique s’accumule rapidement dans le monde du développement.

On attend deux ans pour faire évoluer les technologies, et plusieurs versions sont déjà passées, potentiellement celle utilisée ne possède plus de support actif et en s’enlisant dans cette attente le produit finit par devenir difficile à maintenir, tout en se privant des nouveautés.

C’est pour éviter cet effet que QuickMS a participé sur un de ses produits, Qrew, à une migration technique; faisant passer la version de PHP de 7.4 à 8.3 et la version de Symfony de 4.3 à 6.3.

Deux mois pour migrer toute l’application à 3 la plupart du temps, 4 quelques fois. Rector et PHP-CS nous ont par ailleurs soutenu dans ce sprint conséquent !

PHP

PHP 8.0

Côté PHP, le passage a la version 8.0 a été un gap important pour la codebase. Les attributs sont venus se greffer en remplacement des annotations :

Avant :

Untitled

Après :

Untitled

Loin d’être un simple sucre syntaxique, cet apport a permis aux développeur.se.s de profiter de tous les avantages en termes d’autocomplétion, de suggestion, de la part de l’IDE. En ce seul élément, un gain de temps de développement produit d’ores et déjà de la valeur ajoutée.

Egalement, l’expression match a permis de clarifier un code lourd qu’est l’expression switch, permettant une meilleur lecture au quotidien :

Untitled

Vous noterez par ailleurs la présences d’énumérations, apportées par PHP 8.1.

Toujours dans la veine de PHP 8.0, le nullsafe operator, bien pratique, allège royalement le code en évitant des ternaires imbuvables ou des conditions if bien loin d’être concises :