Ta légacy !== ton code
J'aimerais ça habiter positivement la mémoire collective après ma mort. Même si ce que je vais laisser derrière sera probablement ordinaire.
Je garde ça ouvert.
Tu vois ce que je veux dire ? Je devrais plus dire que j'aimerais laisser ma trace.
Que ma légacy soit mémorable.
Et le légacy code, je ne sais pas pour toi, mais j'ai une relation amour & haine.
Principalement, j'adore ça. Parce que ça veut dire plonger dans du code et comprendre le système.
Mais j'ai toujours une pensée assise sur mon épaule qui aimerait éviter de faire subir ça à quelqu'un d'autre.
Principalement, parce qu'on est grumpy.
Encore plus quand la structure n'est pas documentée ou qu'on n’a pas utilisé un design pattern précis.
Je voudrais dire à tous ceux qui sont passés en arrière de moi où j'ai dû développer en urgence. Désolé pour ces dernières tâches clenchées et pas documentées.
On planifie pour que ça arrive le moins possible, mais il y a toujours des imprévues.
Ma définition est plus optimiste
C'est l'état d'un code/projet qui n'est plus activement développé, mais utilisé et nécessaire à d'autres systèmes.
C'est bizarre qu'on aime que notre légacy soit mémorable, mais qu'aussitôt qu'on arrête de développer activement un projet, ça devienne du légacy code. Moi c'est là que j'aimerais tracer une ligne
Le code légacy n'est pas nécessairement un boulet. C'est vraiment plus souvent le fait d'apprendre du nouveau code et les embûches du défrichage qui est lourd.
Mais, il a plein d'outils pour éviter de se sentir overwhelmed quand on se plonge dans un nouveau package.
La source de cette négativité vient probablement de la courbe d'apprentissage qui doit souvent être surmontée dans l'urgence.
Et l'urgence, c'est rarement un bon prétexte pour quoi que ce soit. Il faut se donner de l'espace pour documenter
Même en mode livraison.
C'est plus facile à écrire qu'à faire.
J'ai vu Nicolas Carlo au WAQ 2023, qui propose en plus de produire du code documenté. C'est vraiment important d'ajouter un contexte socio-corpo-développeur-thérapeutique, si je peux inventer le mot.
C'est tout ce qui orbite autour des fonctionnalités.
Pourquoi on développe ce bout de code ? Pour quels problèmes on a décidé d'ajouter ces fonctionnalités. Quels design patterns on a essayé de produire et avec quelles libertés ou hybride. Etc.
Il propose pleins d'autres outils et méthodes pour éviter ou pour améliorer la gestion du légacy code. Donc la prochaine fois que tu sacres
C'est probablement ta courbe d'apprentissage qui t’enivre.
Trouve un moyen d'extérioriser ta rage sans que ça effleure un être vivant.
Et pense aux trucs de Nicolas. Notes
- J'aime mieux le mot anglais légacy qu'héritage. Peut-être que le mot héritage me rappelle trop les trucs légaux que d'histoire de mémoire humaine.
