Contenu connexe
Similaire à Working effectively with legacy code
Similaire à Working effectively with legacy code (20)
Working effectively with legacy code
- 2. La plupart du temps on se
retrouve à développer sur une
application dont le code est
relativement propre …
© OCTO 2012 2
- 3. … mais on se retrouve aussi à
développer sur du code Legacy…
© OCTO 2012 3
- 4. Vision Produit
Le code legacy, c’est quoi ?
Quelques retours d’expérience
Pas qu’une histoire de code
Atelier
© OCTO 2012 4
- 5. Du vieux code
Du code sans test
N’importe quel code existant
Du code que tu n’as pas écrit
Du code qui n’est plus supporté
Du code avec des vieilles techno
Du code de la version précédente
© OCTO 2012 5
- 8. … Mais en ce moment, beaucoup
(beaucoup) de code legacy est en
cours d’écriture …
© OCTO 2012 8
- 9. … Et c’est important car
Du code legacy doit encore être étendu
Du code legacy doit être corrigé
Du code legacy doit changer
technologiquement
© OCTO 2012 9
- 11. Sans les tests, le code a peu de chance d’être
de meilleure qualité
Les méthodes et les classes s’allongent
On pourrait ajouter des méthodes en testant
et en effectuant de la délégation
© OCTO 2012 11
- 12. « Pour refactorer j’ai besoin
d’avoir des tests
pour mettre des tests en place,
j’ai besoin
de refactorer … »
© OCTO 2012 12
- 13. Identifier les éléments que l’on
souhaite changer
Trouver un point d’entrée
Ecrire un test
Casser les dépendances
Modifier le code
© OCTO 2012 13
- 15. Pourquoi être si prudent ?
Avec une certaine masse de code il est facile
de faire des erreurs sans s’en rendre compte
Préserver les comportements
© OCTO 2012 15
- 21. « Organizations which design
systems are constrained to
produce designs which are copies
of the communication structures
of these organizations »
© OCTO 2012 21
- 22. Troisième atelier
MailService NoteRetriever
Scheduler
SchedulerDisplay
TimeService
Event
DayTime
Meeting
22
- 23. User Story #1
“Il ne faut pas pouvoir
ajouter au scheduler
d'événements datés d'avant
aujourd'hui. ”
23
- 24. User Story #2
“Ignorer les notes de
la base qui sont uniquement
des
séries d'espace.”
24