L'art du debug
Debugger est un savoir faire qui s’apprend et se travaille. Voici quelques pistes que j’utilise pour résoudre mes problèmes.
Bien identifier le problème
Avoir en tête et bien comprendre le problème, ce qu’il se passe concrètement, est déjà une bonne piste afin de savoir où l’on doit chercher. La méthode du QQOQCCP permet d’avoir toutes les clés pour reproduire le problème et détailler ce qu’il se passe.
Utiliser des méthodes
J’aime commencer par utiliser la méthode des cinq pourquoi, qui permet de remonter vers la potentielle source du problème.
Une façon efficace de trouver des pistes est de l’exprimer : c’est la méthode du canard en plastique. Nous le faisons souvent à l’agence, à la différence que nous remplaçons le canard… par un collègue 😄. Expliquer le problème permet de mieux le comprendre et parfois de trouver des solutions sans que le “canard” ait dit le moindre mot.
Le plus magique : une nuit de sommeil. Il m’est arrivé un nombre incalculable de fois où j’étais bloqué toute une après-midi et le lendemain en me remettant sur le projet la solution vient toute seule, comme si elle était là depuis le début… Parfois même simplement faire une pause aide à voir le projet sous un autre angle, donc pensez-y !
Partir du problème et remonter à la source
Le plus dur pour résoudre un problème, c’est de savoir par quel bout s’y prendre. Parfois le bug peut sortir de nulle part, sans erreur claire c’est comme chercher une aiguille dans une botte de foin. Lorsque c’est possible, j’utilise la recherche dichotomique pour identifier à partir de quel endroit du code le comportement change, avec git bisect par exemple, ou encore en posant des logs dans le process du script jusqu’à identifier la partie responsable du souci.
Apprendre de ses erreurs
A chaque bug résolu, vous allez prendre l’habitude de schéma ou process qui ont marché et pourrez le répéter quand l’occasion se présentera. Ça deviendra des réflexes : où aller chercher les logs, comment les afficher, les trier, quels sont les fichiers sensibles…
Ne pas fermer les yeux sur des erreurs, s’entrainer régulièrement
L’art du debug, c’est comme le sport : plus vous pratiquerez et plus ça sera facile pour vous. Si vous souhaitez progresser, ne loupez pas une occasion. Au début, vous mettrez du temps, avec un peu d’acharnement, cela ira de plus en plus vite !
Aimer les casses têtes
Que vous aimiez les énigmes, Rubik’s Cube ou problèmes mathématiques : vous êtes en bonne voie. Le métier de développeur c’est de régler des problèmes, donc autant aimer, comme ça vous aurez la chance de vous amuser tous les jours 😄.