Lectures d'été
L'heure est venue pour beaucoup d'entre nous de goûter à un repos bien mérité, solution éprouvée pour retrouver de la fraîcheur et de l'entrain dans une vie bien remplie !
C'est l'occasion pour moi de vous suggérer quelques livres à glisser en toute discrétion entre Picsou Magazine et Marie-Claire lorsque vous vous rendrez à la plage 🌞🏝⛱.
Je réponds en fait à une question qui m'est souvent posée :
"Quels ouvrages conseillerais-tu pour se former au Craft ?"
Commençons par 2 grands classiques : "Clean code" de Robert C. Martin et "Test-driven development" (TDD) de Kent Beck. L'occasion de rappeler toutefois que les meilleurs ouvrages ne vous seront d'aucune utilité sans une pratique quotidienne du code et un regard critique (le vôtre) porté sur cette pratique : "La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information", aimait à rappeler A. Einstein.
Sur les sujets de refactoring, ensuite, la difficulté est de bien différencier la cible (les architectures et patterns que l'on aimerait voir appliqués) des méthodes pour y arriver en partant du code existant (golden master, méthode mikado, strangler pattern…). Le problème de beaucoup de livres est qu'ils n'abordent que le 1er volet, y compris le célèbre "Refactoring" de Martin Fowler. Ce dernier reste toutefois et à juste titre un ouvrage de référence en la matière. Je fais donc appel à vous pour savoir si vous avez d'autres références à proposer, et puis sinon, eh bien il faudra l'écrire, ce livre !
Venons-en à présent au Domain-driven design (DDD). Là, c'est un peu spécial. Le livre séminal d'Eric Evans — le "Blue Book" pour les intimes — fait référence, par définition. Tout y est, ou presque, et je ne trouve pas qu'on ait vraiment fait mieux depuis. Seulement, il faut reconnaître qu'il est difficile d'accès, tellement riche que l'on a tôt fait de s'y perdre. C'est un peu la Bible (ou le Coran, ou la Torah, si un livre fait sens pour vous), il faut y revenir souvent et l'on y trouve à chaque fois de nouvelles choses, en fonction de notre propre cheminement interne. Ainsi, je me suis formé sur ce sujet plus encore que sur les autres au contact de mes pairs, qui m'ont permis d'aborder de manière simple et concrète ce vaste champ de savoirs. Mais là je prêche pour ma paroisse car le DDD est un de mes sujets de prédilection en tant que formateur (cf. catalogue de formation).
Enfin, mon coup de cœur du libraire va pour "Living Documentation" ❤️, de l'excellent Cyrille Martraire, avec lequel j'ai eu la chance de travailler pendant plusieurs années. Une mine d'or de considérations qui mobilisent l'ensemble des savoirs de l'artisanat logiciel autour d'une problématique cruciale pour la pérennité du code.
Cette liste est non-exhaustive, bien sûr… n'hésitez pas à la compléter par vos propres recommandations !
À la semaine prochaine 👋 !