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