Faire tourner ≠ rester lisible
Le code qui marche, c'est 20 %. Le reste : qu'on puisse le maintenir.
Liste
- Pas de valeurs magiques :
const MAX_RETRIES = 3, pas3tout nu. - DRY : un calcul n'est pas copié à cinq endroits.
- Erreurs : chaque fetch a un
try/catchou un.catch(). - Types : JSDoc ou TypeScript sur ce qui entre et sort.
- Chemins critiques testés : paiement, auth.
- Noms : le rôle, pas le type (
discountRate, pasx).
function calc(x, arr) {
return arr.filter(i => i.s === 'a').reduce((s, i) => s + i.p * x, 0);
}
function calculateDiscountedTotal(discountRate, products) {
const activeProducts = products.filter(p => p.status === 'active');
return activeProducts.reduce((total, product) => {
return total + product.price * discountRate;
}, 0);
}
Note
Si vous avez besoin d'un commentaire « ce qui se passe ici », le code est trop tordu. Simplifiez.
Astuce
Règle : laisser le fichier un peu plus propre que vous l'avez trouvé. Ça s'accumule.