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, pas 3 tout nu.
  • DRY : un calcul n'est pas copié à cinq endroits.
  • Erreurs : chaque fetch a un try/catch ou 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, pas x).
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.