Arrêtons de perdre du temps à debuguer
Nastasia Saby
Zenika
Développeur
Débogueur
Développeur
C'est quoi un bug ?
En informatique, un bug (de l’anglais bug, « insecte ») ou bogue (au Nouveau-Brunswick, au Québec et en France) est un défaut de conception d'un programme informatique à l'origine d'un dysfonctionnement (Wikipedia)
Mais encore ?
Fastidieux
Peu de gloire
Perte de temps
Perte de business
So
Comment peut-on arrêter de perdre ce temps ?
Comment peut-on arrêter de perdre ce business ?
Où j'ai rencontré le bug
Phase de recette
TMA
Build
Run
!=
!=
Naissance en TMA
C'est quoi une TMA ?
Legacy code
* Oui je sais, ce ne sont pas vraiment des spaguettis, mais c'est ce qu'on obtient sur wikimedia quand on tape "spaguetti"
*
Histoire de l'informatique
magic_quotes
mysql_fetch
register_globals
Projet récupéré
"Annotate is dead baby"
Polonais
Ten kod jest ponad Sal.
Co robil w tym ?
WTF ?
die(var_dump($bug))
var_dump
error_log
Découverte de la politique du Scout
Prière de laisser cet endroit plus propre qu'en y entrant
Clean code de Robert C.Martin
Théorie de la fenêtre brisée
Refactoring driven
Je fais du refactoring parce que j'ai de l'empathie
L'autre c'est moi
... dans quelques temps
... sur un autre projet, dans un autre contexte
Refactorer sans test
Code commenté
Enlever des commentaires
Ajouter des commentaires
Extract method
Rembourser sa dette
... même si c'est pas toujours la sienne
On peut pas tout changer
Décision d'équipe
Coûteux (long, ...)
Composer avec
... en attendant la grande migration
Pas de test
SVN
Cycle en V
=>
=>
=>
Tests sur nouveaux devs + Refacto quand même
Normes de commit sévères
Bonnes pratiques de l'agilité
Premiers pas avec Xdebug
A guy from Java world
à
Smile
Pas complètement
Découvertes de l'enfance
La grande migration
Des outils magiques
sonar
PHPUnit
var_dumper
toolbar
Problème ?
Toujours beaucoup de temps passé à debuguer
Pourquoi ?
Pourquoi est-il si méchant ?
Mais où est-ce qu'on perd du temps ?
Pas dans la correction
Pas toujours dans l'analyse du bug même
Etapes
1 ) Comprendre le problème
2) Reproduire le bug
3) Retrouver le morceau de code planté
4) Trouver l'origine du bug
5) Corriger le bug
1) Comprendre le problème
2) Reproduire le bug
3) Retrouver le code planté
4) Origine du bug
5) Correction
Effet de distance
Comment ça marche déjà ?
Il y a des bugs tout le temps, mais certains n'ont pas de nom
Bug et bug
Bugs techniques
Bugs fonctionnels
!=
"Pas de ticket, pas de bug"
L'enfer, c'est les autres
"Ca marche pas !"
Ce qu’on peut faire avec l’autre
Exigeance dans le rapport de bug
Vidéos
TeamViewer
Raccourcir la validation d'une fonctionnalité
Ce qu’on peut faire sans l’autre : prévenir le bug
Rapport de bug
Nom
Ce qui est arrivé
Ce qui aurait dû arriver
Etapes pour reproduire
Test unitaire
Nom
Comparaison
Stack trace
=>
=>
=>
=>
Jani Hartikainen
Ce qu’on peut faire sur soi : Apprendre à composer avec l’autre.
Méthode 4colors
Jung & Marston
Young
4 couleurs
Prise de décision
Rapide
Réfléchie
Sensibilité
Rapide
Réfléchie
Rationnelle
Emotionnelle
Termes
Rapide
Réfléchie
Efficacité
Précision
Fiabilité
Innovation
Coopération
Rationnelle
Emotionnelle
Mais bien sûr plus complexe que ça
Exigeance professionnelle
Ma vraie dominante
Et puis ça peut évoluer
Rapide
Réfléchie
Rationnelle
Emotionnelle
J'en fais quoi ?
Discours
Communication
Un attendu, un besoin à un moment donné
Apprendre à relativiser
Travailler sur soi
La puberté
La punition
Deboguer
Problème
Métier de débogueur pas valorisé
Et quand on n'aime pas ce qu'on fait, dur d'y être bon
Peu de lignes de code
Quelle est ma plus value ?
Pair debugging
Entraide
1 savoir à prendre de l'autre
Comprendre l'autre ensemble
Quel type de savoir ?
Des outils : ApacheJMeters dans un système de frames
Utilisation du var_dump
Utilisation du debogueur
Cas d'école
Détailler le bug qu'on a résolu
Continuer à apprendre
Page rendering
Fouiller dans Symfony : découvert des composants
L'adolescence
Découverte du TDD
Mise en pratique dans le debug
Mise en place de tests fonctionnels
Ne plus rien mocker
Point de vue plus macro
Point de vue plus fonctionnel
Ne pas en abuser
Relecture de code en groupe
Vacances aux pays de Java et JavaScript
La joie du debug au pas à pas
Le retour d'Xdebug
PhpStorm
XDebugHelper
Vers l'âge adulte
Es una obsesion
Le bug en tête
Dis, de quoi t'es fait ?
Structure logicielle
Si je devais conclure
Humain, trop humain (Nietzche)
Prière de laisser cet endroit plus propre qu'en y entrant
O dieux, donnez-moi la sérénité d'accepter ce que je ne puis changer, le courage de changer ce que je puis et la sagesse d'en connaître la différence (Marc Aurèle)
J'ai un rêve ...
... Faire disparaître le métier de debogueur
Arrêter de perdre du temps à debuguer
Arrêter de debuguer
Arrêter de perdre du temps à debuguer
Merci
@saby_nastasia
deck
By nastasiasaby
deck
- 1,944