Présentation que j'ai faite à mes collègues afin de faciliter partiellement les refactoring en cours.
I'm working on the english translation, but if you need it ASAP please notify me.
5. Introduction
Peur de réveiller un
monstre enfoui et de ne
pas s’en sortir?
– Taille de la tâche
inconnue, donc
inestimable …
– Une tête de coupée, 4
qui repoussent
4
«Code Hydra»
6. 5
«If you find yourself in a hole, stop digging.»
- Will Rogers
7. Contexte
Dans ce cas là, comment faites-vous?
– Partez à l’aventure?
– «Big Bang»?
– …
6
34. Pratique
1. Ne jamais sous-estimé le code legacy
– Fonctionnalités pas toujours documentées
– Demandes spécifiques
13
35. Pratique
1. Ne jamais sous-estimé le code legacy
– Fonctionnalités pas toujours documentées
– Demandes spécifiques
2. Ne jamais sous-estimé le code legacy
3. Mieux a deux…
– 4 pairs d’yeux
– Evite «Gold plating»
– Soutien moral…
13
36. Résumé
On ne subit plus le refactoring, on le gère.
– A une vision clair des impacts
– Etudier plusieurs possibilités
– Etablir un planning
• Temporel
• Ressources
14
37. Résumé
Avantages
But clair et défini
Planification de ressources
possible
Limite drastiquement le
blocage de code
Tâches peuvent être
répartis
Inconvénients / Difficultés
Peut vite devenir complexe
(Définir le bon niveau de
zoom)
Prends plus de temps
initialement
15
38. Exercices
Lister
– Des bouts de code qui font mal aux yeux
– Des objectifs business difficilement atteint pour
des raisons techniques.
– Quand vous vous dîtes que cela peut être facilité
– Echecs sur lesquelles vous avez des regrets
Agir
– Refactorer les points-listés ci-dessus en fonction
de priorités / des ressources. 16
39. Sources
General
Refactoring Large SoftwareSystems [en ligne]Method and tools, Hiver 2009 [consulté le 22 septembre 2014].
Disponible sur : http://www.methodsandtools.com/archive/archive.php?id=98
The Big Rewrite [en ligne]. Martin Fowler, 27.12.2006 [consulté le 23 septembre 2014]. Disponible sur :
http://chadfowler.com/blog/2006/12/27/the-big-rewrite
Mikado
Your First MikadoGraph [en ligne]. Manning Publications, 15.05.2013 [consulté le 23 septembre 2014].
Disponible sur : https://weblogs.java.net/blog/manningpubs/archive/2013/05/15/your-first-mikado-graph
The Mikado Method, Small- and Large-Scale Refactorings [en ligne].The pragmatic bookshelf, Ola Ellnestam et
Daniel Brolund, 06.2010 [consulté le 23 septembre 2014]. Disponible sur :
https://pragprog.com/magazines/2010-06/the-mikado-method
The Mikado Method [en ligne]. DZone, Jens Schauder, 11.06.2011 [consulté le 23 septembre 2014]. Disponible
sur : http://java.dzone.com/articles/mikado-method
Refactoring the “Legacy” Hudson.java with the Mikado Method as a Code Dojo [en ligne]. DZone, Jakub Holý,
18.04.2011 [consulté le 23 septembre 2014]. Disponible sur : http://java.dzone.com/articles/refactoring-
%E2%80%9Clegacy%E2%80%9D
BeheadYour Legacy Beast [en ligne].Agical, Daniel Brolund et Ola Ellnestam, 25.02.2012 [consulté le 22
septembre 2014]. Disponible sur : http://www.agical.com/mikmeth/mikadomethod_old_hidden_76213ge.pdf
What I’ve Learned from (Nearly) Failing to Refactor Hudson [en ligne]. DZone, Jakub Holý, 29.04.2011 [consulté
le 23 septembre 2014]. Disponible sur : http://java.dzone.com/articles/what-i%E2%80%99ve-learned-nearly
Notes de l'éditeur
Hydre du code
Peur de réveiller un monstre enfoui par d’autres qui ont creusé et de ne pas s’en sortir?
Comment est-ce que vous gérez vos refactorings?
Attention le point 4 est le grand secret de la méthode
Resultat : Pas forcément quelque chose que l’on fait sur un coin de table
Resultat : Pas forcément quelque chose que l’on fait sur un coin de table
Resultat : Pas forcément quelque chose que l’on fait sur un coin de table
Tiré de l’article ”What I’ve Learned from (Nearly) Failing to Refactor Hudson”
Tiré de l’article ”What I’ve Learned from (Nearly) Failing to Refactor Hudson”