SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Downloaden Sie, um offline zu lesen
Agile Days 2010
                        Paris




                        Refactoring guidé par les tests


© Copyright Pyxis Technologies
Où étiez-vous le 10 novembre 2009 au soir ?




© Copyright Pyxis Technologies        2
Moi, j'étais au Paris JUG

         @DidierGirard
           • Google Wave
           • Google App Engine




         Je retiens
           • C'est facile
           • C'est rapide
           • C'est l'fun :)




© Copyright Pyxis Technologies   3
Ok, Go !




© Copyright Pyxis Technologies   4
Snippet




© Copyright Pyxis Technologies   5
Cool… je copie / colle... :)




© Copyright Pyxis Technologies   6
...et je crée moi même un code pourri :(

                                      Nom de méthode inadéquat
                                      Plusieurs responsabilités
                                      Fonctionnel caché
                                      Non-fonctionnalité
                                      Difficile à tester




© Copyright Pyxis Technologies   7
Le sentiment qui domine en moi ?




                                 La peur




© Copyright Pyxis Technologies      8
Quelle fonctionnalité ?

                                     Envoi un message si le destinataire
                                     est en ligne




© Copyright Pyxis Technologies   9
Quelles dépendances ?

                                      JID
                                      Message
                                      MessageBuilder
                                      XMPPServiceFactory
                                      Presence
                                      SendResponse




© Copyright Pyxis Technologies   10
Fonctionnalité & Dépendances

                                      Envoi un message si le
                                      destinataire est en ligne



                                      JID
                                      Message
                                      MessageBuilder
                                      XMPPServiceFactory
                                      Presence
                                      SendResponse




© Copyright Pyxis Technologies   11
Les tests que je souhaite avoir

         Si le destinataire est en ligne, le message est envoyé
         Si le destinataire n'est pas en ligne, le message n'est pas envoyé




© Copyright Pyxis Technologies                12
Destinataire en ligne → message envoyé

         On veut donc pouvoir paramétrer notre Sender avec un XMPPService
         Mais attention : en prod on veut toujours avoir celui de Google




© Copyright Pyxis Technologies                13
Destinataire en ligne → message envoyé

         On veut donc pouvoir paramétrer notre Sender
         Mais attention : en prod on veut toujours avoir celui de Google




© Copyright Pyxis Technologies                14
Destinataire en ligne → message envoyé

         On veut donc pouvoir paramétrer notre Sender
         Mais attention : en prod on veut toujours avoir celui de Google




© Copyright Pyxis Technologies                15
Destinataire en ligne → message envoyé

         On veut donc pouvoir paramétrer notre Sender
         Mais attention : en prod on veut toujours avoir celui de Google




© Copyright Pyxis Technologies                16
Destinataire en ligne → message envoyé




© Copyright Pyxis Technologies   17
Destinataire hors ligne → pas d'envoi




© Copyright Pyxis Technologies   18
Les tests documentent




© Copyright Pyxis Technologies   19
Et on a toujours le choix de l'outil




© Copyright Pyxis Technologies   20
...un poil plus de tuyauterie




© Copyright Pyxis Technologies   21
:)




© Copyright Pyxis Technologies   22
« Bridging the gap between Business and IT »
                                        Eric Laramée




© Copyright Pyxis Technologies   23
Les tests donnent le courage de refactorer




© Copyright Pyxis Technologies   24
Etc...

                                      Extraire les paramètres ?
                                      Injecter un builder ?
                                      Primitive obsesion
                                      Introduce Param ?
                                      ...




© Copyright Pyxis Technologies   25
Merci




                                 Question ?




© Copyright Pyxis Technologies       26

Weitere ähnliche Inhalte

Andere mochten auch

Trabajo de compu2 juan llanos 4 ¨E¨
Trabajo de compu2 juan llanos 4 ¨E¨Trabajo de compu2 juan llanos 4 ¨E¨
Trabajo de compu2 juan llanos 4 ¨E¨Juan carlos Llanos
 
Womoz : Les Femmes Dans Le Libre Et Mozilla
Womoz : Les Femmes Dans Le Libre Et MozillaWomoz : Les Femmes Dans Le Libre Et Mozilla
Womoz : Les Femmes Dans Le Libre Et MozillaDelphine Lebédel
 
inventar o reflejar una realidad
inventar o reflejar una realidadinventar o reflejar una realidad
inventar o reflejar una realidadcun
 
cargue
carguecargue
carguecun
 
Groupe ADC Alain DARRAS Consultant
Groupe ADC Alain DARRAS ConsultantGroupe ADC Alain DARRAS Consultant
Groupe ADC Alain DARRAS ConsultantGROUPE ADC
 
Paris je t’aime 2
Paris je t’aime 2Paris je t’aime 2
Paris je t’aime 2adecraene
 
Las Redes Sociales úLtimamente Configuran MáS Del 50 (Reparado)
Las Redes Sociales úLtimamente Configuran MáS Del 50 (Reparado)Las Redes Sociales úLtimamente Configuran MáS Del 50 (Reparado)
Las Redes Sociales úLtimamente Configuran MáS Del 50 (Reparado)guest1be2d5d
 
Présentation iss pppp 9 juin 2011
Présentation iss pppp 9 juin 2011Présentation iss pppp 9 juin 2011
Présentation iss pppp 9 juin 2011COCQ-SIDA
 
Leccion 12 ii_2011
Leccion 12 ii_2011Leccion 12 ii_2011
Leccion 12 ii_2011Ricardo
 
presentacion dias positivas
presentacion dias positivaspresentacion dias positivas
presentacion dias positivasgueste0a084
 
Que Es Un Red Local
Que Es Un Red LocalQue Es Un Red Local
Que Es Un Red Localluis perez
 
Pres15Plan maestro Parque Nacional Ichigkat Muja - Cordillera del Cóndor
Pres15Plan maestro Parque Nacional Ichigkat Muja - Cordillera del CóndorPres15Plan maestro Parque Nacional Ichigkat Muja - Cordillera del Cóndor
Pres15Plan maestro Parque Nacional Ichigkat Muja - Cordillera del Cóndorcordilleradelcondor
 
Evidencias Actividad SensibilizaciòN1
Evidencias Actividad SensibilizaciòN1Evidencias Actividad SensibilizaciòN1
Evidencias Actividad SensibilizaciòN1angelasosa
 

Andere mochten auch (20)

Turdaibai Expovacaciones 2010
Turdaibai Expovacaciones 2010Turdaibai Expovacaciones 2010
Turdaibai Expovacaciones 2010
 
Trabajo de compu2 juan llanos 4 ¨E¨
Trabajo de compu2 juan llanos 4 ¨E¨Trabajo de compu2 juan llanos 4 ¨E¨
Trabajo de compu2 juan llanos 4 ¨E¨
 
Talents@Kerensen
Talents@KerensenTalents@Kerensen
Talents@Kerensen
 
Womoz : Les Femmes Dans Le Libre Et Mozilla
Womoz : Les Femmes Dans Le Libre Et MozillaWomoz : Les Femmes Dans Le Libre Et Mozilla
Womoz : Les Femmes Dans Le Libre Et Mozilla
 
inventar o reflejar una realidad
inventar o reflejar una realidadinventar o reflejar una realidad
inventar o reflejar una realidad
 
cargue
carguecargue
cargue
 
Groupe ADC Alain DARRAS Consultant
Groupe ADC Alain DARRAS ConsultantGroupe ADC Alain DARRAS Consultant
Groupe ADC Alain DARRAS Consultant
 
Paris je t’aime 2
Paris je t’aime 2Paris je t’aime 2
Paris je t’aime 2
 
Las Redes Sociales úLtimamente Configuran MáS Del 50 (Reparado)
Las Redes Sociales úLtimamente Configuran MáS Del 50 (Reparado)Las Redes Sociales úLtimamente Configuran MáS Del 50 (Reparado)
Las Redes Sociales úLtimamente Configuran MáS Del 50 (Reparado)
 
VíCtor Hugo
VíCtor HugoVíCtor Hugo
VíCtor Hugo
 
Act4 3
Act4 3Act4 3
Act4 3
 
Présentation iss pppp 9 juin 2011
Présentation iss pppp 9 juin 2011Présentation iss pppp 9 juin 2011
Présentation iss pppp 9 juin 2011
 
Leccion 12 ii_2011
Leccion 12 ii_2011Leccion 12 ii_2011
Leccion 12 ii_2011
 
Postfix Internet Site + Sasl
Postfix Internet Site + SaslPostfix Internet Site + Sasl
Postfix Internet Site + Sasl
 
Aihus
AihusAihus
Aihus
 
presentacion dias positivas
presentacion dias positivaspresentacion dias positivas
presentacion dias positivas
 
Que Es Un Red Local
Que Es Un Red LocalQue Es Un Red Local
Que Es Un Red Local
 
Pres15Plan maestro Parque Nacional Ichigkat Muja - Cordillera del Cóndor
Pres15Plan maestro Parque Nacional Ichigkat Muja - Cordillera del CóndorPres15Plan maestro Parque Nacional Ichigkat Muja - Cordillera del Cóndor
Pres15Plan maestro Parque Nacional Ichigkat Muja - Cordillera del Cóndor
 
Evidencias Actividad SensibilizaciòN1
Evidencias Actividad SensibilizaciòN1Evidencias Actividad SensibilizaciòN1
Evidencias Actividad SensibilizaciòN1
 
Présentation1
Présentation1Présentation1
Présentation1
 

Ähnlich wie Refactoring piloté par les tests

From Idea to the Cloud, a JHipster Story
From Idea to the Cloud, a JHipster StoryFrom Idea to the Cloud, a JHipster Story
From Idea to the Cloud, a JHipster StorySteve Houël
 
Splunk User Group: Toulouse, France - 26 September 2017
Splunk User Group: Toulouse, France - 26 September 2017Splunk User Group: Toulouse, France - 26 September 2017
Splunk User Group: Toulouse, France - 26 September 2017Splunk
 
Cisco connect montreal 2018 net devops
Cisco connect montreal 2018 net devopsCisco connect montreal 2018 net devops
Cisco connect montreal 2018 net devopsCisco Canada
 
CWIN17 Morocco / Microsoft re-invent .net with the future in mind amine belha...
CWIN17 Morocco / Microsoft re-invent .net with the future in mind amine belha...CWIN17 Morocco / Microsoft re-invent .net with the future in mind amine belha...
CWIN17 Morocco / Microsoft re-invent .net with the future in mind amine belha...Capgemini
 
#1 cloud-infra-talk- l ops-du-devops
#1 cloud-infra-talk- l ops-du-devops#1 cloud-infra-talk- l ops-du-devops
#1 cloud-infra-talk- l ops-du-devopsEmmanuel Roldan
 
DreamFace Bluemix Girls Night
DreamFace Bluemix Girls NightDreamFace Bluemix Girls Night
DreamFace Bluemix Girls NightIBM France Lab
 
La Duck Conf : "Observabilité"
La Duck Conf : "Observabilité"La Duck Conf : "Observabilité"
La Duck Conf : "Observabilité"OCTO Technology
 
Du business process modeling pour orchestrer des microservices julien cognet
Du business process modeling pour orchestrer des microservices   julien cognetDu business process modeling pour orchestrer des microservices   julien cognet
Du business process modeling pour orchestrer des microservices julien cognetJulien Cognet
 
CWIN17 Morocco / -blockchain - the greatest invention after the internet-abde...
CWIN17 Morocco / -blockchain - the greatest invention after the internet-abde...CWIN17 Morocco / -blockchain - the greatest invention after the internet-abde...
CWIN17 Morocco / -blockchain - the greatest invention after the internet-abde...Capgemini
 
La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...
La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...
La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...OCTO Technology
 
Vitrine Technologique : Assurance Support Open Source à Québec le 27 mai 2010
Vitrine Technologique : Assurance Support Open Source à Québec le 27 mai 2010Vitrine Technologique : Assurance Support Open Source à Québec le 27 mai 2010
Vitrine Technologique : Assurance Support Open Source à Québec le 27 mai 2010Savoir-faire Linux
 
La gestion du risque et de la sécurité en mode Agile
La gestion du risque et de la sécurité en mode AgileLa gestion du risque et de la sécurité en mode Agile
La gestion du risque et de la sécurité en mode AgileAgile Montréal
 
IBM Bluemix Paris meetup #23 - 20170425
IBM Bluemix Paris meetup #23 - 20170425IBM Bluemix Paris meetup #23 - 20170425
IBM Bluemix Paris meetup #23 - 20170425IBM France Lab
 
Pfe book insodev 2022 vf
Pfe book insodev 2022 vfPfe book insodev 2022 vf
Pfe book insodev 2022 vfSarra Sassi
 
Communaute dot net Montreal juin2010
Communaute dot net Montreal juin2010Communaute dot net Montreal juin2010
Communaute dot net Montreal juin2010Dominic Danis
 
CWIN17 Paris / La mise en oeuvre de la Blockchain chez Crédit Mutuel Arkea
CWIN17 Paris / La mise en oeuvre de la Blockchain chez Crédit Mutuel ArkeaCWIN17 Paris / La mise en oeuvre de la Blockchain chez Crédit Mutuel Arkea
CWIN17 Paris / La mise en oeuvre de la Blockchain chez Crédit Mutuel ArkeaCapgemini
 
Communiqué-Codendi-Marine-nationale
Communiqué-Codendi-Marine-nationaleCommuniqué-Codendi-Marine-nationale
Communiqué-Codendi-Marine-nationaleCodendi
 

Ähnlich wie Refactoring piloté par les tests (20)

From Idea to the Cloud, a JHipster Story
From Idea to the Cloud, a JHipster StoryFrom Idea to the Cloud, a JHipster Story
From Idea to the Cloud, a JHipster Story
 
Splunk User Group: Toulouse, France - 26 September 2017
Splunk User Group: Toulouse, France - 26 September 2017Splunk User Group: Toulouse, France - 26 September 2017
Splunk User Group: Toulouse, France - 26 September 2017
 
Cisco connect montreal 2018 net devops
Cisco connect montreal 2018 net devopsCisco connect montreal 2018 net devops
Cisco connect montreal 2018 net devops
 
CWIN17 Morocco / Microsoft re-invent .net with the future in mind amine belha...
CWIN17 Morocco / Microsoft re-invent .net with the future in mind amine belha...CWIN17 Morocco / Microsoft re-invent .net with the future in mind amine belha...
CWIN17 Morocco / Microsoft re-invent .net with the future in mind amine belha...
 
#1 cloud-infra-talk- l ops-du-devops
#1 cloud-infra-talk- l ops-du-devops#1 cloud-infra-talk- l ops-du-devops
#1 cloud-infra-talk- l ops-du-devops
 
DreamFace Bluemix Girls Night
DreamFace Bluemix Girls NightDreamFace Bluemix Girls Night
DreamFace Bluemix Girls Night
 
La Duck Conf : "Observabilité"
La Duck Conf : "Observabilité"La Duck Conf : "Observabilité"
La Duck Conf : "Observabilité"
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Du business process modeling pour orchestrer des microservices julien cognet
Du business process modeling pour orchestrer des microservices   julien cognetDu business process modeling pour orchestrer des microservices   julien cognet
Du business process modeling pour orchestrer des microservices julien cognet
 
CWIN17 Morocco / -blockchain - the greatest invention after the internet-abde...
CWIN17 Morocco / -blockchain - the greatest invention after the internet-abde...CWIN17 Morocco / -blockchain - the greatest invention after the internet-abde...
CWIN17 Morocco / -blockchain - the greatest invention after the internet-abde...
 
La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...
La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...
La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...
 
Vitrine Technologique : Assurance Support Open Source à Québec le 27 mai 2010
Vitrine Technologique : Assurance Support Open Source à Québec le 27 mai 2010Vitrine Technologique : Assurance Support Open Source à Québec le 27 mai 2010
Vitrine Technologique : Assurance Support Open Source à Québec le 27 mai 2010
 
La gestion du risque et de la sécurité en mode Agile
La gestion du risque et de la sécurité en mode AgileLa gestion du risque et de la sécurité en mode Agile
La gestion du risque et de la sécurité en mode Agile
 
IBM Bluemix Paris meetup #23 - 20170425
IBM Bluemix Paris meetup #23 - 20170425IBM Bluemix Paris meetup #23 - 20170425
IBM Bluemix Paris meetup #23 - 20170425
 
Pfe book insodev 2022 vf
Pfe book insodev 2022 vfPfe book insodev 2022 vf
Pfe book insodev 2022 vf
 
20140424 MeetUp Nuxeo iOS
20140424 MeetUp Nuxeo iOS20140424 MeetUp Nuxeo iOS
20140424 MeetUp Nuxeo iOS
 
Communaute dot net Montreal juin2010
Communaute dot net Montreal juin2010Communaute dot net Montreal juin2010
Communaute dot net Montreal juin2010
 
Provectio Offre Indirecte
Provectio Offre IndirecteProvectio Offre Indirecte
Provectio Offre Indirecte
 
CWIN17 Paris / La mise en oeuvre de la Blockchain chez Crédit Mutuel Arkea
CWIN17 Paris / La mise en oeuvre de la Blockchain chez Crédit Mutuel ArkeaCWIN17 Paris / La mise en oeuvre de la Blockchain chez Crédit Mutuel Arkea
CWIN17 Paris / La mise en oeuvre de la Blockchain chez Crédit Mutuel Arkea
 
Communiqué-Codendi-Marine-nationale
Communiqué-Codendi-Marine-nationaleCommuniqué-Codendi-Marine-nationale
Communiqué-Codendi-Marine-nationale
 

Refactoring piloté par les tests

  • 1. Agile Days 2010 Paris Refactoring guidé par les tests © Copyright Pyxis Technologies
  • 2. Où étiez-vous le 10 novembre 2009 au soir ? © Copyright Pyxis Technologies 2
  • 3. Moi, j'étais au Paris JUG @DidierGirard • Google Wave • Google App Engine Je retiens • C'est facile • C'est rapide • C'est l'fun :) © Copyright Pyxis Technologies 3
  • 4. Ok, Go ! © Copyright Pyxis Technologies 4
  • 5. Snippet © Copyright Pyxis Technologies 5
  • 6. Cool… je copie / colle... :) © Copyright Pyxis Technologies 6
  • 7. ...et je crée moi même un code pourri :( Nom de méthode inadéquat Plusieurs responsabilités Fonctionnel caché Non-fonctionnalité Difficile à tester © Copyright Pyxis Technologies 7
  • 8. Le sentiment qui domine en moi ? La peur © Copyright Pyxis Technologies 8
  • 9. Quelle fonctionnalité ? Envoi un message si le destinataire est en ligne © Copyright Pyxis Technologies 9
  • 10. Quelles dépendances ? JID Message MessageBuilder XMPPServiceFactory Presence SendResponse © Copyright Pyxis Technologies 10
  • 11. Fonctionnalité & Dépendances Envoi un message si le destinataire est en ligne JID Message MessageBuilder XMPPServiceFactory Presence SendResponse © Copyright Pyxis Technologies 11
  • 12. Les tests que je souhaite avoir Si le destinataire est en ligne, le message est envoyé Si le destinataire n'est pas en ligne, le message n'est pas envoyé © Copyright Pyxis Technologies 12
  • 13. Destinataire en ligne → message envoyé On veut donc pouvoir paramétrer notre Sender avec un XMPPService Mais attention : en prod on veut toujours avoir celui de Google © Copyright Pyxis Technologies 13
  • 14. Destinataire en ligne → message envoyé On veut donc pouvoir paramétrer notre Sender Mais attention : en prod on veut toujours avoir celui de Google © Copyright Pyxis Technologies 14
  • 15. Destinataire en ligne → message envoyé On veut donc pouvoir paramétrer notre Sender Mais attention : en prod on veut toujours avoir celui de Google © Copyright Pyxis Technologies 15
  • 16. Destinataire en ligne → message envoyé On veut donc pouvoir paramétrer notre Sender Mais attention : en prod on veut toujours avoir celui de Google © Copyright Pyxis Technologies 16
  • 17. Destinataire en ligne → message envoyé © Copyright Pyxis Technologies 17
  • 18. Destinataire hors ligne → pas d'envoi © Copyright Pyxis Technologies 18
  • 19. Les tests documentent © Copyright Pyxis Technologies 19
  • 20. Et on a toujours le choix de l'outil © Copyright Pyxis Technologies 20
  • 21. ...un poil plus de tuyauterie © Copyright Pyxis Technologies 21
  • 22. :) © Copyright Pyxis Technologies 22
  • 23. « Bridging the gap between Business and IT » Eric Laramée © Copyright Pyxis Technologies 23
  • 24. Les tests donnent le courage de refactorer © Copyright Pyxis Technologies 24
  • 25. Etc... Extraire les paramètres ? Injecter un builder ? Primitive obsesion Introduce Param ? ... © Copyright Pyxis Technologies 25
  • 26. Merci Question ? © Copyright Pyxis Technologies 26