Le billet du Google Testing Blog présente le concept de prefactoring, une méthode de refactoring préparatoire visant à simplifier l’intégration de nouvelles fonctionnalités dans un code existant. L’idée centrale, inspirée de Kent Beck, consiste à restructurer le codebase avant d’ajouter une fonctionnalité, plutôt que de le faire en aval ou de forcer l’intégration directement. Cette approche permet d’éviter les complications en cascade et de rendre le code plus adaptable.
Le prefactoring offre plusieurs avantages : il facilite l’implémentation des nouvelles fonctionnalités en les intégrant naturellement, accélère les revues de code en séparant les modifications structurelles des changements fonctionnels, et réduit les risques de bugs en isolant les nettoyages des logiques métiers. De plus, il permet des retours arrière plus sûrs grâce à des changements plus petits et ciblés.
L’article illustre cette pratique avec un exemple concret : l’extraction d’une fonction d’affichage de nom pour éliminer une duplication, avant d’ajouter le support d’un prénom intermédiaire. Cette méthode peut aussi s’appliquer en cours de revue si un nettoyage est suggéré, à condition qu’il ne bloque pas la fonctionnalité principale.