Note : 2 ; Que de remplissage !
Les auteurs ont découvert un bon truc pour refactorer du code legacy. Une technique à la fois simple et pratique, donc réellement bonne. Et ils ont voulu en faire un livre. Seulement voilà, parce qu’elle est simple, cette technique tient en 20 pages, guère plus !
2 parties totalisant 7 chapitres sur 140 pages constituent le corps de l’ouvrage. La première partie « The basics of the Mikado Method » se satisfait de 4 chapitres avec 65 pages environ. On ouvre le bal avec « meet the Mikado method ». En fait, tout est dit, ou presque, dans ce premier chapitre d’une quinzaine de pages. La démarche en fait très simple (c’est sa qualité première) est décortiquée pas à pas. La seule chose qui manque est un exemple. C’est ce que l’on escompte avec le chapitre 2 « hello, Mikado Method ». L’exemple est hélas un peu simpliste, mais la vingtaine de pages illustre un peu tout, y compris le « revert » à l’aide d’un petit exemple en Java. L’utilisation du gestionnaire de version, partie intégrante de l’approche, fait partie du lot. Il y a déjà pas mal de répétitions avec le chapitre précédant, mais cela reste intéressant.
Le chapitre 3, « goals, graphs and guidelines » est là pour nous donner un peu de recul sur ce qu’est un bon objectif de Mikado. C’est très abstrait et ne nous emmène pas très loin. Au chapitre 4, les auteurs explorent des variations de l’approche Mikado avec « Organizing your work ». En l’occurrence ils déclinent l’approche Mikado en isolation, en pair et en équipe. L’aspect « équipe » rappelle un peu le « Mob Programming », mais il ne m’apparait pas évident que la mise en œuvre ait été sérieusement expérimentée… Cela conclut la première partie du livre.
La seconde partie s’intitule « Principles and patterns for improving software ». On va y trouver les 3 chapitres restants. J’avoue un intérêt particulier pour le chapitre 5 qui ouvre cette partie : il est consacré au refactoring de legacy ! En réalité il s’agit d’une étude de cas qui couvre 30 pages. L’aspect intéressant est de voir comment les auteurs travaillent avec le graphe évoqué en première partie. Par contre, aucune généralisation ni grande pratique n’est tirée de cette partie qui me laisse largement sur ma faim !
Le titre du chapitre 6 est aguicheur : « Emergent design ». Au final, il s’agit d’une assez maladroite introduction au refactoring mâtinée de principes de conception empruntés à Robert Martin. Autant dire que l’on a le choix de nombreuses publications de bien meilleure qualité sur la question. Même constant pour le dernier chapitre « common retsructuring patterns ». Certes les patterns en question sont présentés avec le Mikado graphe qui va bien. Mais ils m’ont fort peu éclairé sur la démarche Mikado à plus haut niveau.
Certes la démarche Mikado est intéressante. Elle mérite largement d’être expérimentée. Mais elle est largement couverte en une trentaine de pages. Seuls les 2 premiers chapitres sont réellement valables, et encore diluent-ils trop le propos. Dans le reste de l’ouvrage, on peut glaner des informations pertinentes, mais trop noyées dans une masse qui ne l’est pas. Bref, j’aime la pratique, mais pas le livre.
Référence complète : The Mikado Method – Ola Ellnestam & Daniel Brolund – Manning 2014 – ISBN : 978 1 617291 21 0