PRINT("DEBUG")

On fait tous ça… non ?
On est développeurs. On écrit du code bien structuré, des fonctions élégantes, des noms de variables qui sentent le café bio et l’architecture propre. Mais dès qu’un bug apparaît, notre professionnalisme fond comme un null
dans un if
. Et là, sans réfléchir, on fait ce qu’on fait tous :
print("DEBUG:", variable)
Ou si on bosse sur du vieux JS façon 2006 :
alert("DEBUG: " + someVar);
Et sur un bon vieux backend PHP ? Alors là, c’est la fête du echo
et du var_dump()
dans tous les sens.
Franchement, on le sait : c’est pas propre.
Mais on le fait quand même. C’est notre zone de confort. C’est rapide. C’est sale. C’est rassurant.
Pourquoi on fait ça ?
Parce que c’est facile. Parce qu’on a la flemme. Parce que lancer un vrai debugger, c’est trop long, ou ça marche pas comme on veut du premier coup.
Et aussi, un peu, parce qu’on aime bien souffrir.
On balance des print(’OK JUSQU’ICI’)
à chaque fonction. On met des alert()
dans des composants React comme si on avait jamais entendu parler de console.debug()
. On pollue le terminal avec des logs absurdes, des emojis, parfois même des blagues pour se rappeler où on en est.
Puis on oublie de tout enlever. Six mois plus tard, quelqu’un trouve echo ’YOLO’
dans une PR et on répond “ah ouais zut je croyais que je l’avais viré”.
Mais y’a des outils. Plein. Partout.
Et ils sont meilleurs que nos print()
tristes. Voici un petit rappel pour faire les choses proprement :
🐘 PHP (oui, y’en a encore, notamment sur Parano)
- Installez Xdebug, ou utilisez le mode debug de VSCode ou PhpStorm.
- Placez vos breakpoints comme des adultes.
- Naviguez dans la stack, suivez les variables. La vie est plus douce.
Alternative propre :
error_log(print_r($data, true));
Pas d’echo(’la mine’)
, pitié.
🐍 Python
- Le module
pdb
est intégré, et magique :
import pdb; pdb.set_trace()
- Sinon, lancez le debug directement depuis VSCode, PyCharm, ou autre IDE.
- Inspectez les variables sans pourrir la sortie console.
🐹 Go
- Utilisez Delve :
dlv debug
- Posez vos breakpoints, inspectez les goroutines, suivez les channels. Go a tout ce qu’il faut.
Pour du log temporaire correct :
log.Printf("DEBUG: %+v", myVar)
Mais pas de fmt.Println(’AAAAAAHH’)
, sauf si vous êtes en train de sombrer, là, tout de suite.
En vrai...
On sait que les print()
et alert()
sont des béquilles. Des rustines émotionnelles. Des moyens de se rassurer vite fait avant de replonger dans l’angoisse du bug obscur.
Mais à un moment, faut passer le cap. Faut grandir. Faut debugger proprement.
Allez, courage. On peut le faire.
Ou sinon, un dernier console.log(’WTF’)
pour la route ?