CARA Coding Dojo - SOLID

Preview:

Citation preview

SOLIDCODING 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

SOLIDSingle responsibility principle

1 classe = une et une seule responsabilité

Open/closed principleouverte à l'extension, mais fermée à la modification

Liskov Substitution Principlepouvoir être remplacée par sous-types

Interface Segregation Principleplusieurs interfaces spécifiques plutôt qu'une seule interface générale

Dependency Inversion Principledé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