Débogage / Debug

Définition

processus qui permet de trouver et résoudre un bogue (bug)

Qu'est-ce qu'un bogue ?

Bogue

  • erreur/faiblesse/défaut dans un programme

  • produit des résultats incorrects/inattendus

  • induit des comportements non voulus

Le debug

Tactiques

  • Debug interactif

  • Logs (CLI++)

  • Tests (unitaires, d'integration)

  • Monitoring

Le debug

Il y a des outils !

Le debug

  • CLI
  • navigateur
    • inspecteur
    • console
    • debugger
    • réseau
    • extensions
  • debuggers
  • autres...

Quelques outils

Le debug

Méthodologie

  • Observer

  • Reproduire

  • Réfléchir <=> Tester

  • Résoudre

Le debug

Résolution

  • Se placer au bon niveau (scope)

  • Masquer !== Résoudre

  • Feature !== Bug

  • Attention aux regressions (test++)

Poser de bonnes questions sur internet

Objectif : obtenir des réponses

Les bonnes questions

La forme

  • Soigner son écriture au maximum

  • Veiller à être aimable

  • Ne rien prendre personnellement

  • Réactivité après 1er message ++

Les bonnes questions

Le fond

  • Décrire ce qu'on cherche à faire (le besoin)

  • Donner du contexte si possible

  • Expliquer ce qu'on a déjà essayé, la démarche, les recherches faites, les pistes qu'on a, les résultats obtenus

Les bonnes questions

A éviter

  • Découper sa question en morceaux

  • Ca marche pas !

  • Est-ce que quelqu'un s'y connait en [techno de votre choix] ?

  • Est-ce que quelqu'un a déjà fait [feature de votre choix] avec [techno de votre choix] ?

  • LES MAJUSCULES

Des outils collaboratifs

  • JsBin
    https://jsbin.com/?html,css,js,output

  • Replit
    https://replit.com/

  • Codepen
    https://codepen.io/

  • Fonctions "liveshare" des éditeurs/IDE

  • Autres ?

Sources

Wikipedia

https://fr.wikipedia.org/wiki/Bug_(informatique)

en.wikipedia.org/wiki/Debugging

en.wikipedia.org/wiki/Debugger

en.wikipedia.org/wiki/Software_bug

Ressources

How to debug

https://blog.regehr.org/archives/199

Le cours openClassroom

https://openclassrooms.com/en/courses/7159296-deboguez-l-interface-de-votre-site-internet

Js debugging tips

https://raygun.com/learn/javascript-debugging-tips

Css layout debugging script

https://gist.github.com/addyosmani/fd3999ea7fce242756b1

Ressources

Comment poser les questions de manière intelligente

http://www.linux-france.org/article/these/smart-questions/smart-questions-fr.html

How to be great at asking questions

https://medium.com/@gordon_zhu/how-to-be-great-at-asking-questions-e37be04d0603

Don't just say hello in chats
https://www.nohello.com/

Questions

Merci

Made with Slides.com