Post de Max Lyon

🅲🆃🆁🅻 🅲 🅲🆃🆁🅻 🆅. Les développeurs le détestent ! Il double votre productivité et triple vos ROIs 🔥 Mais certains voudraient vous faire croire qu’il double aussi vos coûts de maintenance. Voire triple si vous avez appuyé deux fois sur 🅲🆃🆁🅻 🆅. Voire quadruple si vous avez appuyé 3 fois 😱 Alors oui, copier-coller du code n’est pas toujours la bonne réponse, mais parfois, elle l’est quand même. Voici quelques bonnes raisons (la 4ème va vous étonner) : 🤯  La complexité nécessaire pour factoriser ces morceaux de code peut être trop importante. Par exemple, ça peut-être dû au typages typescript que vous aurez à rajouter, ou encore à cause des structures de données que vous aurez à créer, nommer, etc — parce que vous êtes conscencieux•se et que vous ne voulez pas passer plus de 3 arguments à une fonction. 🪴 Ces morceaux de code vont être appelé à évoluer différemment avec le temps. Que vous ayez sorti votre boule de cristal, fait le tirage de votre projet IT (attention au Fou 🫣), ou simplement lu les specs en avance, vous savez que les parties copiées-collées risquent d’évoluer dans des directions différentes. Alors oui, il est possible de factoriser les parties en commun tout en gardant les parties qui diffèrent, mais franchement niveau simplicité et lisibilité c’est pas toujours joli joli. 🎓 Les concepts métiers sous-jacents ne sont pas les mêmes. Par exemple, imaginez un système de gestion de colis pour des enseignes de vente (on fait des expériences de pensée ici). Lors de la création d’un colis, on bipe tout les articles. Lors de sa réception d’un colis, on bipe tout les articles. Alors, on a envie de créer une seule entité colis, et de réutiliser le code qui permet de la créer pour la valider. Mais est-ce qu’un colis qui arrive est la même chose qu’un colis qui part ? Et surtout, est-ce que créer un colis est la même chose que vérifier son contenu ? Tout factoriser risquerait d’engendrer des noeuds dans vos modèles de données et votre cerveau ! 🫨 Pour ne pas fâcher tout le monde, on vous proposeras prochainement un article pour vous expliquer à quels moments factoriser, et comment le faire proprement, alors abonnez-vous, 𝓱𝓲𝓽 𝓽𝓱𝓮 𝓫𝓮𝓵𝓵, et commentez sivouplé. Si vous êtes en manque d’inspiration, vous pouvez me raconter votre dernier repas. Perso c’était des Giovani Rana, j’avais pas le temps. -Alma #programming #informatique #softwarecraftmanship

Identifiez-vous pour afficher ou ajouter un commentaire

Explorer les sujets