Le Déboguage (Debugging)

Le déboguage consiste à trouver, comprendre et corriger les erreurs dans un programme.

Même les développeurs expérimentés font du debugging tous les jours.

Le debugging est une compétence essentielle en programmation.

1. Pourquoi faire du debugging

Un programme peut produire :

Le debugging permet de comprendre ce qui se passe réellement dans le programme.

2. console.log()

La méthode console.log() est l’outil de debugging le plus utilisé.

const username = "Fred";

console.log(username);

console.log()

> Fred

console.log() permet d’afficher des valeurs dans la console du navigateur.

3. Vérifier une variable

console.log() est souvent utilisé pour vérifier le contenu d’une variable.

const age = 18;

console.log(age);

Cette technique aide à comprendre si une valeur est correcte.

4. Vérifier une fonction

Le debugging peut aussi servir à vérifier le résultat d’une fonction.

function add(a, b) {

    return a + b;

}

console.log(add(2, 2));

Ici, la console affiche le résultat retourné par la fonction.

5. Trouver une erreur logique

Certaines erreurs ne produisent pas de message, mais donnent un mauvais résultat.

function multiply(a, b) {

    return a + b;

}

console.log(multiply(2, 3));

Erreur logique

> 5

Ici, la fonction contient une erreur logique : elle additionne au lieu de multiplier.

6. Lire les erreurs JavaScript

Quand une erreur survient, JavaScript affiche un message dans la console.

console.log(user);

Erreur JavaScript

> ReferenceError: user is not defined

Ce message indique que la variable n’existe pas.

7. Stack trace

Lorsqu’une erreur se produit, JavaScript affiche souvent une stack trace.

Une stack trace montre :

Lire une stack trace est une compétence importante.

8. Le debugger navigateur

Les navigateurs modernes possèdent des outils de debugging intégrés.

Dans Chrome :

Ces outils permettent d’inspecter le code JavaScript et le DOM.

9. Les breakpoints

Un breakpoint permet de mettre le programme en pause.

Cela permet d’inspecter :

Les breakpoints sont très utilisés dans les gros projets.

10. debugger

JavaScript possède aussi le mot-clé :

debugger;

Lorsque cette instruction est exécutée, le navigateur met le programme en pause.

function test() {

    debugger;

    console.log("Pause");

}

test();

11. Vérifier les types

Le debugging sert souvent à vérifier les types de données.

const age = "18";

console.log(typeof age);

typeof

> string

12. Debugging du DOM

console.log() peut vérifier les éléments du DOM.

const button = document.querySelector("button");

console.log(button);

Cela permet de vérifier si un élément a bien été sélectionné.

13. null et undefined

Pendant le debugging, deux valeurs apparaissent souvent :

Valeur Description
null Aucune valeur trouvée
undefined Valeur non définie

14. Debugging progressif

Une bonne technique consiste à ajouter plusieurs console.log() à différents endroits.

console.log("Début");

console.log(user);

console.log("Fin");

Cela aide à localiser précisément le problème.

15. Bonnes pratiques

Résumé rapide

Concept Utilité
console.log() Afficher des valeurs
Erreur logique Mauvais comportement du programme
ReferenceError Variable inexistante
Stack trace Informations sur une erreur
Breakpoint Pause dans le programme
debugger Mettre le programme en pause
typeof Vérifier un type
null Aucune valeur
undefined Valeur non définie