Note : 8 ; Petit dépoussiérage d’un sujet toujours aussi important !
Pas moins de 20 ans ont séparé les deux éditions de cet ouvrage ! Le refactoring, c’est un peu la clé à molette de l’architecture émergente. Et ce livre en est le manuel officiel. Autant dire que c’est un ouvrage majeur du monde agile en général et du craftsmanship en particulier.
Cette seconde édition semble moins imposante que la première. En fait, elle compte approximativement le même nombre de pages, à savoir un peu plus de 400 hors annexes. Question de papier… Petite nouveauté toutefois : il existe une version en ligne qui est la version de référence et qui inclut la totalité des refactorings. La version papier en est donc un sous-ensemble. Toutefois l’ouvrage contient le code d’activation de cette version en ligne qui n’est pas en libre accès ! Autre petite différence, l’impression en 4 couleurs, privilège accordé à un grand classique, j’imagine…
Le livre totalise 12 chapitres, dont les 6 derniers constituent le catalogue à proprement parler. Autant prévenir tout de suite, les exemples sont en JavaScript, ce qui est franchement une mauvaise nouvelle pour moi. L’auteur nous a promis des exemples sans idiomes spécifiques, ce qui est vrai à quelques exceptions près.
Le premier chapitre est un teasing du livre, un exemple. Il met en œuvre des refactorings successifs en identifiant à chaque étape les « smells » résiduels. Il le fait avec la pédagogie à laquelle il nous a habitué. Et il est vrai que le JavaScript ne gêne guère. Un plaisir. On rentre dans le dur au chapitre 2, avec 35 pages consacrés aux principes du refactoring. On y explique quoi, quand et surtout pourquoi refactorer. La pratique y est inscrite au sein des pratiques d’XP et surtout comme partie intégrante du design émergent. J’y retrouve tout ce qui m’avait emballé il y a un peu plus de 20 ans. Cela avait été une révélation pour moi, avant même que je découvre l’agilité. Ne ratez pas ce chapitre.
