Dans un billet de blog, Henrik Warne -blogueur et développeur multiplateformes- nous explique son point de vue sur l’importance des fichiers journaux dans le débogage.
« Une des différences entre un bon programmeur et un mauvais programmeur est que le bon programmeur ajoute des logs et des outils qui facilitent le débogage du programme en cas d’erreur », déclare Henrik Warne. « Lorsque le programme fonctionne comme prévu, il n'y a souvent pas de différence dans la qualité des logs. Cependant, dès que le programme échoue, ou dès qu’on obtient un résultat erroné, on peut distinguer immédiatement les bons programmeurs des mauvais ».
Selon lui, il y aurait trois grandes raisons qui pousseraient de nombreux programmeurs à ne pas écrire un « code déboggable ». Premièrement, ils ne sont pas « assez humbles » pour réaliser qu’il y aura toujours des cas où leur code ne fonctionnera pas comme prévu. Deuxièmement, ils ne testent pas leur code « à fond » ; en effet, lorsqu’on teste notre code on s’assure qu’il fonctionne dans un grand nombre de scénarios différents, or « si vous ne testez pas tous les cas, vous êtes moins susceptible d'ajouter des fichiers journaux ». Troisièmement, ils ne dépannent pas assez souvent leur « propre code dans les systèmes de production » ; en effet, lorsqu’on rencontre un problème dans notre système et que les fichiers journaux ne nous aident pas à connaître la cause de la panne : nous serons incités à ajouter des logs pour nous aider à trouver rapidement le problème lors d’une situation similaire.
Henrik Warne donne aussi un exemple concret d’une mauvaise habitude de débogage : « Un testeur était venu [un jour] me voir avec un cas d'appel qui n'a pas fonctionné. Nous avons regardé les fichiers journaux et vus que le problème venait d’un module voisin : un appel à l'autre module pour obtenir une liste des valeurs nous a retourné un "null". Lorsque nous avons activé les logs dans le module voisin et refait le cas de test, il n'y avait pas plus d'informations disponibles, on n’avait aucun indice sur la raison pour laquelle le "null" à été renvoyé ». La solution proposée par le développeur du code était de créer « une version de débogage pour voir ce qui se passait », chose qui aurait pu « être évitée si une journalisation détaillée avait été établie ».
Comme conclusion, l’auteur du blog affirme qu’il y a naturellement des cas où même les bons messages de journalisation ne nous permettent pas de savoir pourquoi quelque chose a échoué. « Vous pouvez toujours avoir à faire une version de débogage, mais une journalisation régulière devrait quand même vous donner des indications sur la nature du problème ».
Source : Henrik Warne Blog
Et vous ?
Êtes-vous d’accord avec l’avis de Henrik Warne ?
À part la journalisation, quelles autres habitudes pourraient aider les développeurs lors du débogage ?
Quelle est l'importance de la journalisation dans le débogage ?
Selon un sénior, « un bon programmeur ajoute beaucoup de logs à son programme »
Quelle est l'importance de la journalisation dans le débogage ?
Selon un sénior, « un bon programmeur ajoute beaucoup de logs à son programme »
Le , par Amine Horseman
Une erreur dans cette actualité ? Signalez-nous-la !