SlideShare une entreprise Scribd logo
1  sur  6
Télécharger pour lire hors ligne
SOLID
CODING DOJO – CARA LYON - SEPTEMBRE
LyonTechHub
 25/09 : DDD, Event Sourcing et F# : L’alliance Parfaite !
 Avec Jérémie Chassaing
 11/10 – 12/10 : Fhacktory
 15/11 : Global Code Retreat
 27/11 : Refactoring de code legacy
 Avec Thomas Pierrain
 Reprise de l’ensemble des communautés :
 http://lyontechhub.herokuapp.com/ (lien temporaire)
Populariser par Robert C. Martin
SOLID
ingle responsibility principle
1 classe = une et une seule responsabilité
pen/closed principle
ouverte à l'extension, mais fermée à la modification
iskov Substitution Principle
pouvoir être remplacée par sous-types
nterface Segregation Principle
plusieurs interfaces spécifiques plutôt qu'une seule interface générale
ependency Inversion Principle
dépendre des abstractions, pas des implémentations
Legacy code : Trivia
 https://github.com/jbrains/trivia
 Contraintes :
 Pas de type de base
 Pas de conditions
 Complexité
 Object Calisthenics (rajoute les règles ci-dessous)
 1 niveau indentation
 First class collections
 Un point par ligne
 Pas d’abréviations
 Pas plus de 2 variables/classes
 Pas de getter/setter/properties
Tests
 Pas le sujet du jour mais important

Contenu connexe

En vedette

Malalties
MalaltiesMalalties
Malaltiesforat72
 
La Firma Digital
La Firma DigitalLa Firma Digital
La Firma DigitalStalin Jara
 
Temas basicos para formacion DEL - Red de Expertos (ampliada oct 2011)
Temas basicos para formacion DEL - Red de Expertos (ampliada oct 2011)Temas basicos para formacion DEL - Red de Expertos (ampliada oct 2011)
Temas basicos para formacion DEL - Red de Expertos (ampliada oct 2011)ConectaDEL
 
Bulletin Municipal - Décembre 2015 - Saint-Martial de Valette
Bulletin Municipal - Décembre 2015 - Saint-Martial de ValetteBulletin Municipal - Décembre 2015 - Saint-Martial de Valette
Bulletin Municipal - Décembre 2015 - Saint-Martial de ValetteMairie
 
Le management stratégique
Le management stratégique Le management stratégique
Le management stratégique Béja
 
Módulo 4: Competencias, MTL y gobernanza - - Francisco Alburquerque
Módulo 4: Competencias, MTL y gobernanza - - Francisco AlburquerqueMódulo 4: Competencias, MTL y gobernanza - - Francisco Alburquerque
Módulo 4: Competencias, MTL y gobernanza - - Francisco AlburquerqueConectaDEL
 
Carte des cafés 2013
Carte des cafés 2013Carte des cafés 2013
Carte des cafés 2013Biacelli
 
Curso richfaces 3.3.3 III
Curso richfaces 3.3.3 IIICurso richfaces 3.3.3 III
Curso richfaces 3.3.3 IIIeclaudioaugusto
 
Estrategias Didácticas en la práctica- Métodos de Caso como manera de Aprendi...
Estrategias Didácticas en la práctica- Métodos de Caso como manera de Aprendi...Estrategias Didácticas en la práctica- Métodos de Caso como manera de Aprendi...
Estrategias Didácticas en la práctica- Métodos de Caso como manera de Aprendi...ConectaDEL
 
Presentación desarrollo local - Instituto Nacional de Tecnología Industrial I...
Presentación desarrollo local - Instituto Nacional de Tecnología Industrial I...Presentación desarrollo local - Instituto Nacional de Tecnología Industrial I...
Presentación desarrollo local - Instituto Nacional de Tecnología Industrial I...ConectaDEL
 
Introducción
IntroducciónIntroducción
Introduccióngonzalvo2
 
Guía VERSIÓN REDUCIDA de aprendizaje FOMIN sobre proyectos de integración p...
Guía VERSIÓN REDUCIDA de aprendizaje FOMIN sobre proyectos de integración p...Guía VERSIÓN REDUCIDA de aprendizaje FOMIN sobre proyectos de integración p...
Guía VERSIÓN REDUCIDA de aprendizaje FOMIN sobre proyectos de integración p...ConectaDEL
 
Reflexiones hacia un modelo pedagogico en Desarrollo Económico Local
Reflexiones hacia un modelo pedagogico en Desarrollo Económico LocalReflexiones hacia un modelo pedagogico en Desarrollo Económico Local
Reflexiones hacia un modelo pedagogico en Desarrollo Económico LocalConectaDEL
 
Projet de territoire Alès Agglomération (28 pages)
Projet de territoire Alès Agglomération (28 pages)Projet de territoire Alès Agglomération (28 pages)
Projet de territoire Alès Agglomération (28 pages)Alès Agglomération
 

En vedette (20)

Malalties
MalaltiesMalalties
Malalties
 
La Firma Digital
La Firma DigitalLa Firma Digital
La Firma Digital
 
Temas basicos para formacion DEL - Red de Expertos (ampliada oct 2011)
Temas basicos para formacion DEL - Red de Expertos (ampliada oct 2011)Temas basicos para formacion DEL - Red de Expertos (ampliada oct 2011)
Temas basicos para formacion DEL - Red de Expertos (ampliada oct 2011)
 
Mujer trabajadora
Mujer trabajadoraMujer trabajadora
Mujer trabajadora
 
Bulletin Municipal - Décembre 2015 - Saint-Martial de Valette
Bulletin Municipal - Décembre 2015 - Saint-Martial de ValetteBulletin Municipal - Décembre 2015 - Saint-Martial de Valette
Bulletin Municipal - Décembre 2015 - Saint-Martial de Valette
 
Steve jobs
Steve jobsSteve jobs
Steve jobs
 
Le management stratégique
Le management stratégique Le management stratégique
Le management stratégique
 
Módulo 4: Competencias, MTL y gobernanza - - Francisco Alburquerque
Módulo 4: Competencias, MTL y gobernanza - - Francisco AlburquerqueMódulo 4: Competencias, MTL y gobernanza - - Francisco Alburquerque
Módulo 4: Competencias, MTL y gobernanza - - Francisco Alburquerque
 
Carte des cafés 2013
Carte des cafés 2013Carte des cafés 2013
Carte des cafés 2013
 
Londres
LondresLondres
Londres
 
Delays
DelaysDelays
Delays
 
Curso richfaces 3.3.3 III
Curso richfaces 3.3.3 IIICurso richfaces 3.3.3 III
Curso richfaces 3.3.3 III
 
Estrategias Didácticas en la práctica- Métodos de Caso como manera de Aprendi...
Estrategias Didácticas en la práctica- Métodos de Caso como manera de Aprendi...Estrategias Didácticas en la práctica- Métodos de Caso como manera de Aprendi...
Estrategias Didácticas en la práctica- Métodos de Caso como manera de Aprendi...
 
Presentación desarrollo local - Instituto Nacional de Tecnología Industrial I...
Presentación desarrollo local - Instituto Nacional de Tecnología Industrial I...Presentación desarrollo local - Instituto Nacional de Tecnología Industrial I...
Presentación desarrollo local - Instituto Nacional de Tecnología Industrial I...
 
Introducción
IntroducciónIntroducción
Introducción
 
Guía VERSIÓN REDUCIDA de aprendizaje FOMIN sobre proyectos de integración p...
Guía VERSIÓN REDUCIDA de aprendizaje FOMIN sobre proyectos de integración p...Guía VERSIÓN REDUCIDA de aprendizaje FOMIN sobre proyectos de integración p...
Guía VERSIÓN REDUCIDA de aprendizaje FOMIN sobre proyectos de integración p...
 
Anamariamatute
AnamariamatuteAnamariamatute
Anamariamatute
 
Reflexiones hacia un modelo pedagogico en Desarrollo Económico Local
Reflexiones hacia un modelo pedagogico en Desarrollo Económico LocalReflexiones hacia un modelo pedagogico en Desarrollo Económico Local
Reflexiones hacia un modelo pedagogico en Desarrollo Económico Local
 
Feliz 2011!!
Feliz 2011!!Feliz 2011!!
Feliz 2011!!
 
Projet de territoire Alès Agglomération (28 pages)
Projet de territoire Alès Agglomération (28 pages)Projet de territoire Alès Agglomération (28 pages)
Projet de territoire Alès Agglomération (28 pages)
 

Plus de florentpellet

Split my monolith - Devoxx
Split my monolith - DevoxxSplit my monolith - Devoxx
Split my monolith - Devoxxflorentpellet
 
Comment faire un mur végétal chez soi ?
Comment faire un mur végétal chez soi ?Comment faire un mur végétal chez soi ?
Comment faire un mur végétal chez soi ?florentpellet
 
CARA - Software Craftsmanship : le chaînon manquant de l’agilité ?
CARA - Software Craftsmanship : le chaînon manquant de l’agilité ?CARA - Software Craftsmanship : le chaînon manquant de l’agilité ?
CARA - Software Craftsmanship : le chaînon manquant de l’agilité ?florentpellet
 
TDD outside in - Coding Dojo Lyon
TDD outside in - Coding Dojo LyonTDD outside in - Coding Dojo Lyon
TDD outside in - Coding Dojo Lyonflorentpellet
 
Global Day of Coderetreat - Lyon 2015
Global Day of Coderetreat - Lyon 2015Global Day of Coderetreat - Lyon 2015
Global Day of Coderetreat - Lyon 2015florentpellet
 
CARA Coding Dojo - Outils de tests
CARA Coding Dojo - Outils de testsCARA Coding Dojo - Outils de tests
CARA Coding Dojo - Outils de testsflorentpellet
 
CARA Coding dojo - Golden Master
CARA Coding dojo - Golden MasterCARA Coding dojo - Golden Master
CARA Coding dojo - Golden Masterflorentpellet
 
HumanTalk - Commentaires, je t'aime un peu, beaucoup, à la folie, pas du tout
HumanTalk - Commentaires, je t'aime un peu, beaucoup, à la folie, pas du toutHumanTalk - Commentaires, je t'aime un peu, beaucoup, à la folie, pas du tout
HumanTalk - Commentaires, je t'aime un peu, beaucoup, à la folie, pas du toutflorentpellet
 
CARA Coding Dojo TDD Palindrome (décembre 2014)
CARA Coding Dojo TDD Palindrome (décembre 2014)CARA Coding Dojo TDD Palindrome (décembre 2014)
CARA Coding Dojo TDD Palindrome (décembre 2014)florentpellet
 
GWAB Lyon - Legacy code atelier
GWAB Lyon - Legacy code atelierGWAB Lyon - Legacy code atelier
GWAB Lyon - Legacy code atelierflorentpellet
 
Single Page Application: Enrichissez l'expérience utilisateur
Single Page Application: Enrichissez l'expérience utilisateurSingle Page Application: Enrichissez l'expérience utilisateur
Single Page Application: Enrichissez l'expérience utilisateurflorentpellet
 

Plus de florentpellet (15)

Split my monolith - Devoxx
Split my monolith - DevoxxSplit my monolith - Devoxx
Split my monolith - Devoxx
 
Comment faire un mur végétal chez soi ?
Comment faire un mur végétal chez soi ?Comment faire un mur végétal chez soi ?
Comment faire un mur végétal chez soi ?
 
Lyon Tech Hub
Lyon Tech HubLyon Tech Hub
Lyon Tech Hub
 
CARA - Software Craftsmanship : le chaînon manquant de l’agilité ?
CARA - Software Craftsmanship : le chaînon manquant de l’agilité ?CARA - Software Craftsmanship : le chaînon manquant de l’agilité ?
CARA - Software Craftsmanship : le chaînon manquant de l’agilité ?
 
TDD outside in - Coding Dojo Lyon
TDD outside in - Coding Dojo LyonTDD outside in - Coding Dojo Lyon
TDD outside in - Coding Dojo Lyon
 
Global Day of Coderetreat - Lyon 2015
Global Day of Coderetreat - Lyon 2015Global Day of Coderetreat - Lyon 2015
Global Day of Coderetreat - Lyon 2015
 
201506 mug intro
201506 mug intro201506 mug intro
201506 mug intro
 
Event storming
Event stormingEvent storming
Event storming
 
CARA Coding Dojo - Outils de tests
CARA Coding Dojo - Outils de testsCARA Coding Dojo - Outils de tests
CARA Coding Dojo - Outils de tests
 
CARA Coding dojo - Golden Master
CARA Coding dojo - Golden MasterCARA Coding dojo - Golden Master
CARA Coding dojo - Golden Master
 
HumanTalk - Commentaires, je t'aime un peu, beaucoup, à la folie, pas du tout
HumanTalk - Commentaires, je t'aime un peu, beaucoup, à la folie, pas du toutHumanTalk - Commentaires, je t'aime un peu, beaucoup, à la folie, pas du tout
HumanTalk - Commentaires, je t'aime un peu, beaucoup, à la folie, pas du tout
 
CARA Coding Dojo TDD Palindrome (décembre 2014)
CARA Coding Dojo TDD Palindrome (décembre 2014)CARA Coding Dojo TDD Palindrome (décembre 2014)
CARA Coding Dojo TDD Palindrome (décembre 2014)
 
GWAB Lyon - Legacy code atelier
GWAB Lyon - Legacy code atelierGWAB Lyon - Legacy code atelier
GWAB Lyon - Legacy code atelier
 
Crafting workshop
Crafting workshopCrafting workshop
Crafting workshop
 
Single Page Application: Enrichissez l'expérience utilisateur
Single Page Application: Enrichissez l'expérience utilisateurSingle Page Application: Enrichissez l'expérience utilisateur
Single Page Application: Enrichissez l'expérience utilisateur
 

CARA Coding Dojo - SOLID

  • 1. SOLID CODING DOJO – CARA LYON - SEPTEMBRE
  • 2. LyonTechHub  25/09 : DDD, Event Sourcing et F# : L’alliance Parfaite !  Avec Jérémie Chassaing  11/10 – 12/10 : Fhacktory  15/11 : Global Code Retreat  27/11 : Refactoring de code legacy  Avec Thomas Pierrain  Reprise de l’ensemble des communautés :  http://lyontechhub.herokuapp.com/ (lien temporaire)
  • 4. SOLID ingle responsibility principle 1 classe = une et une seule responsabilité pen/closed principle ouverte à l'extension, mais fermée à la modification iskov Substitution Principle pouvoir être remplacée par sous-types nterface Segregation Principle plusieurs interfaces spécifiques plutôt qu'une seule interface générale ependency Inversion Principle dépendre des abstractions, pas des implémentations
  • 5. Legacy code : Trivia  https://github.com/jbrains/trivia  Contraintes :  Pas de type de base  Pas de conditions  Complexité  Object Calisthenics (rajoute les règles ci-dessous)  1 niveau indentation  First class collections  Un point par ligne  Pas d’abréviations  Pas plus de 2 variables/classes  Pas de getter/setter/properties
  • 6. Tests  Pas le sujet du jour mais important