Refactoring to Patterns

Un article de Agile-Swiss.

Jump to: navigation, search

Pour la conception XP conseille la simplicité, et vous invite à ne pas anticiper les besoins futurs.

D'autre part, un Design Pattern (DP) est une solution éprouvée à un problème récurrent. Solution qui elle vise à être "universelle", donc potentiellement trop complexe pour votre problème.

Il y a donc apparemment un paradoxe à marier DP et XP, mais tout dépend de la façon de procéder ...

... Joshua Kerievsky propose en effet la démarche inverse à celle consistant à utiliser les DP en amont de la conception. Au contraire, partons d'un premier jet de conception simple, puis sachons identifier les points faibles. Ces "code smells" détectés, Joshua présente des techniques qui très progressivement vont transformer un code existant en un code conforme à un DP.

Le DP n'est plus utilisé mécaniquement, mais à bon escient en ayant compris quand et comment utiliser un DP.

Ce livre argumente aussi précisément des bénéfices du Refactoring (ah la métaphore du Design Debt...dûe à Ward Cunningham que je vous laisse découvrir).

Le refactoring est l'hygiène du code. Ce livre est son "Vidal".

Si une personne veut nous présenter "Refactoring" de Martin Fowler, elle est plus que bienvenue.