Secourez votre Legacy rapidement et sereinement. ⛑️

Apprenez les techniques pour refactor du code non testé et mal documenté, tout en livrant continuellement de la valeur à vos utilisateurs.

Inscrivez-vous à ma newsletter et recevez un chapitre gratuit, extrait de mon guide, sur les Refactorings Incrémentaux qui vous permettent de vous arrêter et de livrer à tout instant.

Ou bien achetez le guide dès maintenant si vous êtes déjà convaincus !

Legacy Code: Premiers Soins

J’aimerais avoir assez de temps pour refactor ce code !

Chaque semaine c’est la même histoire : vous devez toucher à ce code. Pour fixer un bug, ou pour changer un comportement, voire peut-être pour ajouter une toute nouvelle fonctionnalité.

Mais ce n’est pas vous qui avez écrit ce code !

C’est un bordel sans nom et mal documenté. Vous aimeriez bien refactor le code avant de le changer. Mais il n’y a aucun test ! Et donc vous n’avez pas trop envie de vous risquer à casser quelque chose en le refactorant… Vous vous êtes déjà fait avoir une fois, pas deux !

Alors oui, vous pourriez commencer par écrire les tests. Mais vous n’avez pas le temps ! Vous avez déjà trop de choses à faire dans le peu de temps qui vous a été imposé…

Et vous y voilà donc : vous êtes bloqué, parce que vous ne savez pas par quel bout le prendre. Devriez-vous commencer par nettoyer le code, quitte à risquer la deadline ? Et comment allez-vous faire pour écrire des tests sur du code qui n’a clairement pas été écrit pour être testé ?

Quand je commence à refactor un bout, y’a tout qui vient !

Vous avez déjà essayé de nettoyer le code, mais tout est complètement emmêlé !

Vous avez fait des progrès mais plus rien ne fonctionne. Vous ne pouvez donc pas vous arrêter maintenant… sauf qu’il est déjà 21h et votre famille vous attend !😡

Vous connaissez la suite…

Vous n’essayez même plus de comprendre ce chaos. Vous vous contentez de faire en sorte que Ça Marche©. C’est sale. Ce n’est pas si mal non plus. Vous avez croisé bien pire dans ce tas de code. Vous faites le boulot, quitte à aggraver la situation. Il faut livrer.

Vous aimeriez bien pouvoir tout recommencer à zéro. Mais ce serait difficile à négocier. Pas de temps, ni d’argent pour ce genre de projet.

Vous n’êtes pas très fier de cette base de code que vous maintenez. Mais bon, vous vous y habituez. Les clients demandent toujours plus de fonctionnalités, et vos collègues n’ont pas l’air de s’intéresser à la qualité du code. Vous avez l’impression de faire votre travail. Mais vous savez que vous pourriez faire mieux.

Cela dit, votre chef ne comprend pas pourquoi ça vous prend si longtemps de faire les changements demandés. Vous avez déjà essayé de lui expliquer, mais les deadlines sont toujours trop courtes et la priorité est toujours donnée à la livraison de nouvelles fonctionnalités. Tout le monde se fiche bien que vos yeux saignent en lisant ce code !

C’est fatigant ! 😫

Si vous pouviez au moins arrêter l’hémorragie…

Vous savez ce qui serait chouette ? Travailler avec du code propre et bien testé. Pas de mauvaise surprise, facile à modifier. Le rêve… That would be a breeze to work with…

Mais votre base de code à vous, c’est un champ de mine. Comment pourriez-vous espérer déminer des ANNÉES de Dette Technique ?!

Et si je vous disais qu’il existe des manières de refactor le code ET de respecter les deadlines ?

Imaginez que vous puissiez refactor le code tout en livrant des fonctionnalités. Imaginez que vous amélioriez l’état du code au fur et à mesure que vous revenez dessus, pour en faire un système facile à tester et à maintenir !🌱

Si vous connaissez les bons gestes, vous pouvez apporter les premiers soins à votre code et arrêter le massacre. À quel point seriez-vous fier de vous et soulagé de pouvoir redonner des couleurs à votre code ?

Bien sûr, le système que vous maintenez en ce moment est rempli de problèmes. Il a l’air de fonctionner, mais il ne survit vraiment qu’à travers des hacks et des patchs plus ou moins tordus. Parfois, vous vous demandez si ce ne serait pas plus simple de tout recommencer à zéro…

Mais qu’en serait-il si vous découvriez des techniques qui vous permettraient de le sauver ?

Imaginez pouvoir nettoyer votre Code Legacy à chaque fois que vous y touchez.

Peu importe l’état de votre code, vous saurez toujours par où commencer. En appliquant constamment les bonnes techniques, vous pourrez arrêter le carnage et éviter une refonte très coûteuse.

Mais surtout, vous continuerez de corriger des bugs et d’ajouter des fonctionnalités sans arrêt.

Vous n’avez pas à demander la permission de refactor quand vous êtes capable de le faire à la volée !

Le Refactoring deviendra une deuxième nature pour vous. Vos réflexes vous permettront de nettoyer n’importe quel Legacy plus rapidement que n’importe lequel de vos collègues ! Vous répondrez constamment aux attentes de vos clients et inspirerez vos pairs.

En fait, vous pouvez commencer à améliorer cette base de code la prochaine fois que vous y touchez. 

Quand les deadlines sont serrées, il est risqué d’essayer de refactor le code… à moins de savoir exactement ce que vous faites.

Grâce à ce guide de Premiers Soins, vous allez apprendre à refactor sans risque et rapidement.

J’ai collecté pour vous un ensemble de techniques qui vous aideront à reprendre le contrôle de votre code Legacy. Ce sont les trucs et astuces qui fonctionnent le mieux pour moi. Je les utilise quand je travaille sur des projets en production qui manquent (évidemment) de tests et de docs (ça vous semble familier ?).

Ces 14 mouvements vous aideront à :

  • optimiser votre travail pour avoir le maximum d’impact
  • identifier ce qui rend le code difficile à tester
  • rapidement installer un filet de sécurité sur le code que vous devez toucher
  • améliorer la qualité du code progressivement
  • livrer à chaque instant !

Ce qu’il y a dans le Legacy Code: Premiers Soins?

Il s’agit d’un e-book qui comporte environ 200 pages. Il y a une version avec un thème sombre et une avec un thème clair.

C’est une collection de 14 techniques pour travailler sur du Code Legacy :

  1. Identifier les Hotspots
  2. Dessiner les Graphes de Dépendances
  3. La Méthode Mikado & le Parking
  4. Micro-committing
  5. Refactoring Exploratoire
  6. 3 Refactorings Automatisés
  7. Refactorings Incrémentaux
  8. Refactoring de Proximité
  9. Découpler le Core de l’Infrastructure
  10. Approval Testing
  11. Subclass & Override
  12. Move Function to Delegate
  13. Wrap & Sprout
  14. Nommage Progressif

Chaque technique est présentée avec des exemples concrets, ainsi que des conseils sur quand et comment l’appliquer. De plus, je vous explique pourquoi ça fonctionne : la philosophie derrière chaque approche, afin que vous puissiez vous adapter à toute situation.

Enfin, le kit contient quelques feuilles à imprimer et garder près de vous. Elles vous aideront à vous rappeler les techniques et à les appliquer rapidement.

Ce kit a été élaboré pour le terrain.

Commencez par parcourir le guide rapidement, afin d’avoir une idée globale de ce qu’il contient.

Puis, gardez-le à portée de main. La prochaine fois que vous touchez à du code Legacy, utilisez l’une des techniques qui se prête le mieux à la situation. Très rapidement vous verrez les résultats sur votre base de code !

Travailler sur votre code devrait redevenir un challenge excitant : que pouvez-vous améliorer maintenant ? Qu’allez-vous reporter ? Comment pouvez-vous rendre ce code un petit peu meilleur ET livrer de la valeur rapidement ? Sentez-vous que le code devient de plus en plus facile à maintenir ?

Finalement, vous allez pouvoir transformer ce gros tas de spaghetti en système bien construit, facile à lire et à tester, tout en livrant fonctionnalités et correctifs. 😉🍷

… et ce sont de précieuses compétences qui vous rendront TRÈS demandé. 💎

Christophe Thibaut

C’est un kit de survie. Ça n’existe nulle part ailleurs. Les gens ne lisent pas de livres, mais un kit de survie oui. J’ai travaillé avec des équipes qui pourraient utiliser ce kit dès maintenant pour se sortir du pétrin.

Procurez-vous votre guide

Premiers Soins

39 €
  • 14 techniques pour secourir votre base de code rapidement et sereinement

  • Formats PDF, ePub et Kindle

  • ~200 pages de contenu

  • Thèmes Clair & Sombre

  • 3 cheatsheets à imprimer

  • 1 feuille d’exercices à imprimer

  • 🇬🇧 The English version of the book

Chris Hartjes

I just bought @nicoespeon’s “Legacy Code: First Aid Kit” — his newsletter is great and his tips have helped tame some code in my work at UFSC

À propos de l’auteur

Nicolas Carlo

Salut, je suis Nicolas Carlo 👋

J’ai été développeur web, freelance, consultant et Tech Lead. À chaque fois, j’ai eu à travailler avec du code existant que je craignais de toucher. Je me suis rendu compte que le Code Legacy était partout… mais que nous, développeurs, ne sommes pas préparés à le maintenir !

Depuis, je collectionne les meilleures techniques pour travailler avec des systèmes legacy sur mon blog understandlegacycode.com

Je crée aussi des outils open-source pour aider les développeurs à travailler avec leurs bases de code legacy.

— Nicolas

GUL

Every developer should work with this First Aid Kit next to him/her.

Questions Fréquentes

Ça fait combien de pages ?

Le guide contient 219 pages.

Quel est le format du guide ?

Le guide que vous recevez est un fichier zip qui contient un PDF, un EPUB et un MOBI. Vous obtenez également des fichiers PDFs à imprimer pour pratiquer certaines techniques.

Est-ce que les techniques sont spécifiques à un langage ?

11 des techniques sont valides, peu importe le langage avec lequel vous travaillez. 3 d’entre elles ont un meilleur outillage avec les langages au typage statique.

3 techniques sont présentées avec une approche orientée-objet, en JavaScript. Pour celles-ci, je vous montre également quoi faire si vous travaillez plutôt avec une approche fonctionnelle.

Les concepts sont valides peu importe le langage. J’utilise JavaScript pour illustrer les exemples afin de pouvoir montrer à la fois un style OOP et un style FP.

Puis-je payer via PayPal ?

Bien entendu ! Je ne l’ai pas automatisé, mais vous pouvez me contacter à nicolas@understandlegacycode.com et je vous enverrai un lien pour payer via PayPal.

Quid si j’achète et que je suis déçu ? Est-ce que je peux récupérer mon argent ?

Oui. Je vous offre une garantie de remboursement à 100%, sans poser de question.

Voyez-vous, mon but est de vous aider à travailler avec du code Legacy. Je suis convaincu que mon guide vous aidera à gagner du temps, de l’argent, et de la santé mentale.

Est-ce que je peux partager ce guide avec mon équipe ?

Vous pouvez payer plusieurs copies du guide lors de votre achat. C’est une manière de me dire merci pour mon travail, et c’est fort apprécié.

Maintenant, rien ne vous empêche de partager le guide avec vos collègues. Peut-être aussi que votre client/employeur pourrait couvrir la dépense en frais professionnels.

Et si j’ai d’autres questions ?

Contactez-moi via nicolas@understandlegacycode.com