Ce tutoriel s'appuie sur l'exemple simplifié du premier chapitre du livre Refactoring, Improving the Design of Existing Code de Martin Fowler
Martin Fowler propose en ligne une rubrique dédiée au refactoring dans laquelle un catalogue de refactoring est disponible. Ces exemples de refactoring sont justement ceux décrits dans les autres chapitres de son livre.
L'exemple de refactoring va être déroulé pas à pas sous Eclipse selon les étapes suivantes :
- Présentation de l'exemple à refactorer
- Pas de refactoring sans test !
- Isoler le calcul du montant des frais d'une location, de l'affichage du relevé (à l'aide d'un
Extract method
) - Rendre la classe
Rental
responsable du calcul des frais de location (à l'aide d'unMove method
) - Isoler le calcul de la somme des frais de toutes les locations de l’affichage du relevé (à l'aide d'un
Replace Temp with Query
) - Mettre en place le nouvel affichage au format HTML via la méthode
htmlStatement
- Déléguer la gestion des règles de tarification à la vidéo
- Mettre en place un système de tarification évolutif et modulable grâce au State Pattern
Et il se terminera par :
- Quelques remarques en images sur l'intention du code et les commentaires
- Des katas pour s'entraîner au refactoring
- Quelques références autour du refactoring
Pour vous aider à suivre plus facilement ce tutoriel, la présentation du tutoriel disponible ici peut vous servir de roadmap.
Continuez le tutoriel par la présentation de l'exemple à refactorer
This material may NOT be used as course material without prior written agreement.