Chapitre 20 – Bonnes pratiques et optimisation

La qualité du code JavaScript n'est pas seulement une question de syntaxe correcte. Écrire du code propre, lisible et performant est essentiel pour maintenir, déboguer et faire évoluer une application dans le temps. Ce chapitre passe en revue les bonnes pratiques fondamentales et quelques techniques d'optimisation.

Zone de démonstration interactive

Comparez les bonnes et mauvaises pratiques...
Nommage
Structure
Mémoire
Performance

Exemples de bon et mauvais nommage de variables et fonctions

Exemples de bonne et mauvaise structure de code

Exemples de bonne et mauvaise gestion de la mémoire

Exemples de code optimisé vs non optimisé

1. Écriture propre et lisible

// Mauvais : difficile à lire
if(x){y();}else{z();}

// Bon : lisible
if (x) {
  y();
} else {
  z();
}

2. Nommage clair des variables

// Mauvais
let x = 42;
let a = true;

// Bon
let maxUsers = 42;
let isAuthenticated = true;

3. Réduction de la complexité

Un code trop imbriqué ou trop long est difficile à maintenir. Voici quelques conseils :

// Mauvais : fonction trop longue
function process(data) {
  // 50 lignes de code
}

// Bon : décomposition
function process(data) {
  const cleaned = clean(data);
  const result = compute(cleaned);
  display(result);
}

4. Éviter les fuites de mémoire

Une fuite de mémoire survient quand des objets restent en mémoire alors qu'ils ne sont plus utilisés. Quelques règles à suivre :

// Mauvais : l'écouteur persiste
function init() {
  document.addEventListener('click', handleClick);
}

// Bon : suppression propre
function init() {
  function handleClick() {
    console.log("cliqué");
  }
  document.addEventListener('click', handleClick);
  // plus tard…
  document.removeEventListener('click', handleClick);
}

5. Optimisation des performances

Quelques techniques pour améliorer les performances :

// Mauvais : resélectionne à chaque fois
function updateItems() {
  document.querySelectorAll('.item').forEach(item => {
    item.style.color = 'red';
  });
}

// Bon : cache la sélection
function updateItems() {
  const items = document.querySelectorAll('.item');
  items.forEach(item => {
    item.style.color = 'red';
  });
}

Résumé du chapitre

  • Un code lisible, bien structuré et commenté est plus facile à maintenir.
  • Des noms de variables explicites améliorent la compréhension du code.
  • Réduire la complexité passe par la découpe en fonctions simples et claires.
  • Il est important de surveiller la mémoire : libérer les ressources inutiles permet d'éviter les ralentissements.
  • Les optimisations de performance portent souvent sur les manipulations DOM et les boucles.
  • Adopter ces bonnes pratiques dès le départ évite de nombreux problèmes futurs.

Ces bonnes pratiques s'appliquent à tous les niveaux, du débutant au développeur confirmé.