Durée : 30 minutes
Objectif pédagogique :
- Apprendre à identifier les problèmes dans un code existant.
- Découper une méthode longue en fonctions modulaires et testables.
- Mettre en œuvre des bonnes pratiques de développement.
Consignes pour les étudiants :
- Contexte :
- Vous travaillez sur une application de gestion de commandes.
- Une méthode
ProcessOrder
traite les commandes, mais elle est longue et difficile à maintenir.
- Votre mission :
- Analyser la méthode existante.
- Identifier les problèmes (lisibilité, modularité, testabilité).
- Refactorer le code en créant des méthodes dédiées pour chaque sous-tâche.
Étapes du TP :
1. Analyse de la méthode actuelle
- Fournissez-leur le code complet de la méthode complexe (version "Avant Refactoring").
- Posez des questions pour guider leur réflexion :
- Quels problèmes identifiez-vous dans cette méthode ?
- Quels blocs de code peuvent être extraits dans des méthodes séparées ?
- Quels aspects du code rendent les tests difficiles ?
2. Refactoring
- Consignes :
- Divisez la méthode en plusieurs fonctions :
- Validation de la commande (
ValidateOrder
).
- Calcul des taxes (
CalculateTaxes
).
- Validation du paiement (
ValidatePayment
).
- Génération du reçu (
GenerateReceipt
).
- Gérez les erreurs en utilisant des exceptions.
- Rendez le code lisible et maintenable.
4. Comparaison avec la version initiale
- Discussion guidée :
- Comment le refactoring a-t-il amélioré le code ?
- Quels sont les avantages en termes de maintenance et d’évolutivité ?
- Quels seraient les impacts si cette méthode était utilisée dans un projet réel ?
Code de départ pour le TP :