Développer efficacement avec du         code legacy         Mathieu Gandin           @octomga
La plupart du temps on se retrouve à développer surune application dont le code est relativement propre …© OCTO 2012      ...
… mais en vrai on se         retrouve souvent à       développer sur du code              Legacy…© OCTO 2012              ...
Du code que tu n’as pas écrit             Du code sans test               Du vieux code       N’importe quel langage exist...
Tu peux fuir le code legacy …© OCTO 2012                     5
Tu peux maudire le code© OCTO 2012               legacy …           6
… Mais en ce moment, beaucoup(beaucoup) de code legacy est en       cours d’écriture … © OCTO 2012                   7
… Et c’est important carDu code legacy doit encore être étendu   Du code legacy doit être corrigé     Du code legacy doit ...
© OCTO 2012              TDD   9
« Pour refactorer j’ai besoin     d’avoir des tests  pour mettre des tests en     place, j’ai besoin     de refactorer … »...
Live Coding   11
Identifier les éléments que l’on        souhaite changer   Trouver un point d’entrée          Ecrire un test   Casser les ...
Sprout class & Sprout        Method© OCTO 2012              13
Pourquoi être si prudent ?Avec une certaine masse de code il est facilede faire des erreurs sans s’en rendre compte       ...
Singleton (variable globale) Instanciation interne (hardcodé      (ça casse les tests …))Code procédural (c’est long (très...
Collective Ownership   16
© OCTO 2012   Boy Scout Rule   17
© OCTO 2012              Retrospective   18
© OCTO 2012              Code Review   19
Coding Dojo   20
« Organizations which designsystems are constrained to produce  designs which are copies of thecommunication structures of...
Questions ?              22
Prochain SlideShare
Chargement dans…5
×

Working effectively with legacy code

932 vues

Publié le

0 commentaire
2 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
932
Sur SlideShare
0
Issues des intégrations
0
Intégrations
10
Actions
Partages
0
Téléchargements
2
Commentaires
0
J’aime
2
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

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

×