Le débogage : qu'est-ce que c'est ?

Difficulté Facile
Note
Thématiques
Mis à jour le lundi 31 mars 2014

Les bugs

Avant de parler de débogage, intéressons-nous d'abord aux bugs. Ces derniers sont des erreurs humaines que vous avez laissées dans votre code ; ils ne sont jamais le fruit du hasard. N'essayez pas de vous dire « Je n'en ferai pas », ce n'est pas possible de rester concentré au point de ne jamais vous tromper sur plusieurs centaines de lignes de code ! Et même si un code de 100 lignes fonctionne du premier coup, on finira au final par se dire que c'est trop beau pour être vrai et on va donc partir à la recherche de bugs qui n'existent au final peut-être pas. :-°

Il existe deux types principaux de bugs : ceux que l'interpréteur Javascript saura vous signaler car ce sont des fautes de syntaxe, et ceux que l'interpréteur ne verra pas car ce sont des erreurs dans votre algorithme.

Pour faire simple, voici un bug syntaxique :

va myVar = 'test; // Le mot-clé « var » est mal orthographié et il manque une apostrophe

Et maintenant un bug algorithmique :

// On veut afficher la valeur 6 avec les nombres 3 et 2
var myVar = 3 + 2;
// Mais on obtient 5 au lieu de 6 car on a fait une addition au lieu d'une multiplication

Vous voyez la différence ? Du point de vue de l'interpréteur Javascript, le premier code est faux, car il est incapable de l'exécuter, tandis que le deuxième code est exécutable, mais on n'obtient pas la valeur escomptée.

Il faut bien se mettre en tête que l'interpréteur Javascript se fiche bien des valeurs retournées par votre code, il veut exécuter le code et c'est tout. Voici la différence entre le caractère syntaxique et algorithmique d'une erreur : la première empêche le code de s'exécuter, la seconde empêche le bon déroulement du script. Pourtant, les deux empêchent votre code de s'exécuter correctement.

Le débogage

Comme son nom l'indique, cette technique consiste à supprimer les bugs qui existent dans votre code. Pour chaque type de bug vous avez plusieurs solutions bien particulières.

Les bugs syntaxiques sont les plus simples à résoudre, car l'interpréteur Javascript vous signalera généralement l'endroit où l'erreur est apparue dans la console de votre navigateur. Vous verrez comment vous servir de ces consoles un peu plus loin.

En ce qui concerne les bugs algorithmiques, là il va falloir faire travailler votre cerveau et chercher par vous-mêmes où vous avez bien pu vous tromper. La méthode la plus simple consiste à remonter les couches de votre code pour trouver à quel endroit se produit l'erreur.
Par exemple, si vous avez un calcul qui affiche une mauvaise valeur, vous allez immédiatement aller vérifier ce calcul. Si ce calcul n'est pas en cause mais qu'il fait appel à des variables, alors vous allez vérifier la valeur de chacune de ces variables, etc. De fil en aiguille vous allez parvenir à déboguer votre code.

Les auteurs