LEGACY CODE ?
Un système en production
Manque de maintenance
Manque de tests
Customization Locking
Pas de source
Slide 3
Slide 3 text
PYRAMIDE DES TESTS
Tests unitaires
Tests
d'intégrations
e2e 1-5%
5-15%
80-90%
+
-
Temps
Complexité
Fragilité
Slide 4
Slide 4 text
PYRAMIDE DES TESTS
0-5%
5-15%
80-90%
+
-
Temps
Complexité
Fragilité
e2e
Tests
d'intégrations
Tests
unitaires
Slide 5
Slide 5 text
INVERSER LA PYRAMIDE
e2e
Tests
d'intégrations
Tests
unitaires
Tests unitaires
Tests
d'intégrations
e2e
Système legacy Système sous contrôle
Slide 6
Slide 6 text
INVERSER LA PYRAMIDE
4 règles du design simple
Attitude
Boy Scout Rule
Appropriation collective du code
Politique de tests
Design émergent
Slide 7
Slide 7 text
4 RÈGLES DU DESIGN SIMPLE
1.Tous les tests passent
2.Révèle ton intention
3.Evite la duplication
4.Petites classes & petites méthodes
Slide 8
Slide 8 text
TOUT EST LIÉ
Slide 9
Slide 9 text
GILDED ROSE
https://github.com/xebia-france/gildedrose-kata
Exercice de refactoring sur legacy
Par binôme
Tentez une technique
Vous êtes la pour expérimenter, apprendre
Pas pour "gagner" l'exercice.
Niveau: moyen
1h30
Slide 10
Slide 10 text
CODE BASE
c#
https://github.com/NotMyself/GildedRose
Objective-C
https://github.com/isilien/GildedRose-Objc
JavaScript, Ruby and more
https://github.com/emilybache/GildedRose-Refactoring-Kata