- Publié le
Bonnes pratiques de refactoring, ce qu'il faut faire et ne pas faire
- Auteurs
- Nom
- Cédric RIBALTA
Introduction 🌟
Le refactoring est une pratique essentielle pour améliorer la qualité de ton code sans changer son comportement. Il permet de simplifier et optimiser ton code, mais attention à ne pas tomber dans certains pièges ! Voici les bonnes pratiques à suivre et les erreurs à éviter, accompagnées d'exemples en TypeScript.
Ce qu’il faut faire :
1. Comprendre avant de changer
Avant de refactorer, prends le temps de bien comprendre l'existant. Ça évite de casser des parties importantes du code. ⚠️
// Avant refactoring : une fonction dense
function calculateInvoiceAmount(items: Item[], discountRate: number): number {
let total = 0
for (let i = 0; i < items.length; i++) {
total += items[i].price * items[i].quantity
}
let discount = total * discountRate
return total - discount
}
// Après refactoring : simplification et clarté
function calculateTotalAmount(items: Item[]): number {
return items.reduce((total, item) => total + item.price * item.quantity, 0)
}
function applyDiscount(total: number, discountRate: number): number {
return total - total * discountRate
}
function calculateInvoiceAmount(items: Item[], discountRate: number): number {
const total = calculateTotalAmount(items)
return applyDiscount(total, discountRate)
}
Explication : Ce refactoring divise la logique en petites fonctions simples et réutilisables. 🎯
2. Refactoriser par petites étapes
Ne fais jamais de changements massifs d’un coup. 🐢 Vas-y progressivement pour éviter de casser des fonctionnalités.
3. Maintenir la simplicité
Le refactoring vise à simplifier le code. Si ton refactoring ajoute de la complexité, il vaut mieux faire marche arrière !
4. Respecter les conventions
Refactorer ne veut pas dire tout changer ! Garde les conventions du projet en tête. Changer le style de codage sans raison peut rendre le code difficile à maintenir. ⚙️
5. Tests automatisés
Assure-toi que les tests passent avant et après chaque refactoring. Ça te protège des bugs cachés. ✅
Ce qu’il faut éviter :
1. Sur-refactorisation
Évite de vouloir trop en faire. Les abstractions superflues et les changements massifs sont souvent contre-productifs. 🚫
2. Trop de changements dans le style de codage
Passer d'un style de codage à un autre sans raison apparente peut créer de la confusion. Reste cohérent avec le style en place dans le projet. 🙅♂️
3. Abstractions non nécessaires
N'ajoute pas des couches d'abstraction là où elles ne sont pas nécessaires. Cela complique le code sans raison. 🌀
4. Inconsistances
L'incohérence dans le code est un piège fréquent lors du refactoring. Garde une structure uniforme pour ne pas rendre ton code difficile à comprendre et à maintenir. 📏
5. Ne pas comprendre le contexte business
Refactorer sans comprendre le contexte business derrière le code est risqué. Il faut savoir pourquoi le code est là et quel problème il résout avant de modifier quoi que ce soit. 💼
Conclusion
Un bon refactoring doit simplifier, clarifier et améliorer la maintenabilité du code. Cependant, mal géré, il peut introduire des erreurs ou des complexités inutiles. Toujours garder à l’esprit l’objectif ultime : rendre le code plus propre et plus lisible, tout en respectant les conventions et le contexte business. 💡