Working effectively with legacy code

1,025 views

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,025
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
2
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Working effectively with legacy code

  1. 1. Développer efficacement avec du code legacy Mathieu Gandin @octomga
  2. 2. La plupart du temps on se retrouve à développer surune application dont le code est relativement propre …© OCTO 2012 2
  3. 3. … mais en vrai on se retrouve souvent à développer sur du code Legacy…© OCTO 2012 3
  4. 4. Du code que tu n’as pas écrit Du code sans test Du vieux code N’importe quel langage existant Du code qui n’est plus supporté Du code avec des vieilles techno Du code de la version précédente© OCTO 2012 4
  5. 5. Tu peux fuir le code legacy …© OCTO 2012 5
  6. 6. Tu peux maudire le code© OCTO 2012 legacy … 6
  7. 7. … Mais en ce moment, beaucoup(beaucoup) de code legacy est en cours d’écriture … © OCTO 2012 7
  8. 8. … Et c’est important carDu code legacy doit encore être étendu Du code legacy doit être corrigé Du code legacy doit changer technologiquement 8
  9. 9. © OCTO 2012 TDD 9
  10. 10. « Pour refactorer j’ai besoin d’avoir des tests pour mettre des tests en place, j’ai besoin de refactorer … »© OCTO 2012 10
  11. 11. Live Coding 11
  12. 12. 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 12
  13. 13. Sprout class & Sprout Method© OCTO 2012 13
  14. 14. Pourquoi être si prudent ?Avec une certaine masse de code il est facilede faire des erreurs sans s’en rendre compte Préserver les comportements © OCTO 2012 14
  15. 15. Singleton (variable globale) Instanciation interne (hardcodé (ça casse les tests …))Code procédural (c’est long (très) à tester) 15
  16. 16. Collective Ownership 16
  17. 17. © OCTO 2012 Boy Scout Rule 17
  18. 18. © OCTO 2012 Retrospective 18
  19. 19. © OCTO 2012 Code Review 19
  20. 20. Coding Dojo 20
  21. 21. « Organizations which designsystems are constrained to produce designs which are copies of thecommunication structures of these organizations » © OCTO 2012 21
  22. 22. Questions ? 22

×