Bonjour à toutes et à tous,
Je me suis amusé à résoudre les problèmes de
http://adventofcode.com/
(presque fini :
https://github.com/magopian/adventofcode). Disclaimer,
je suis grand débutant, et je suis loin de maîtriser les idiomes ;)
En écrivant le code pour trouver les solutions, j'ai très souvent dû
débugger le code, et voici les "outils" que j'ai utilisés :
- la macro "dbg": (defmacro dbg[x] `(let [x# ~x] (println "dbg:" '~x "="
x#) x#))
- les "assert" un peu de partout dans le code pour tester chaque petit
bout et être sûr que tout fonctionne comme prévu
- le plugin vim "fireplace" qui permet de se connecter à un REPL, et
d’interpréter des formes très facilement
Ces outils sont assez différents de ce que j'ai l'habitude d'utiliser en
python ou javascript, en particulier le debugger interactif.
Par exemple en python, si je vois un soucis, je vais mettre un "import
ipdb; ipdb.set_trace()" juste avant le soucis, ce qui va me permettre de
bloquer l'exécution à cet endroit, et de faire du "step by step".
J'ai vu qu'il existait au moins deux projets de debugger similaires pour
clojure, mais je n'y ai pas encore regardé de trop près. Est-ce que vous
avez des conseils dans ce domaine ? D'autres outils à recommander ?
Cordialement
Mathieu