• Save
Working effectively with legacy code
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Working effectively with legacy code

on

  • 872 views

 

Statistics

Views

Total Views
872
Views on SlideShare
871
Embed Views
1

Actions

Likes
2
Downloads
2
Comments
0

1 Embed 1

https://twimg0-a.akamaihd.net 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Working effectively with legacy code Presentation Transcript

  • 1. Développer efficacement avec du code legacy Mathieu Gandin @octomga
  • 2. La plupart du temps on se retrouve à développer surune application dont le code est relativement propre …© OCTO 2012 2
  • 3. … mais en vrai on se retrouve souvent à développer sur du code Legacy…© OCTO 2012 3
  • 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. Tu peux fuir le code legacy …© OCTO 2012 5
  • 6. Tu peux maudire le code© OCTO 2012 legacy … 6
  • 7. … Mais en ce moment, beaucoup(beaucoup) de code legacy est en cours d’écriture … © OCTO 2012 7
  • 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. © OCTO 2012 TDD 9
  • 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. Live Coding 11
  • 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. Sprout class & Sprout Method© OCTO 2012 13
  • 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. Singleton (variable globale) Instanciation interne (hardcodé (ça casse les tests …))Code procédural (c’est long (très) à tester) 15
  • 16. Collective Ownership 16
  • 17. © OCTO 2012 Boy Scout Rule 17
  • 18. © OCTO 2012 Retrospective 18
  • 19. © OCTO 2012 Code Review 19
  • 20. Coding Dojo 20
  • 21. « Organizations which designsystems are constrained to produce designs which are copies of thecommunication structures of these organizations » © OCTO 2012 21
  • 22. Questions ? 22