Bonnes pratiques résumées en 5 acronymes
Apéro PHP 25/03/2021
1. DRY : Don’t Repeat Yourself
Éliminer les duplications de code ⇒ factoriser
- Ne pas réinventer la roue
- Bugs / améliorations sont appliqués pour tout
2. KISS : Keep It Simple, Stupid
Ne pas faire trop “malin” ou “magique”
- On passe plus de temps à lire du code qu’à en écrire
- Code simple = plus facile à comprendre, donc à maintenir
3. LoD : Law of Demeter
On demande au chien de nous suivre, pas à ses pattes
Une méthode doit utiliser uniquement les méthodes de ces objets :
- sa classe
- ses paramètres
- instanciés par elle
- propriétés de sa classe
- variables globales
Law of Demeter : infractions
Law of Demeter : corrections
4. S.O.L.I.D.
- Single Responsibility Principle
- Open / Closed Principle
- Liskov Substitution Principle
- Interface Segregation Principle
- Dependency Inversion Principle
Single Responsibility Principle
un module, une classe ou une méthode doit avoir une et une seule responsabilité
Open / Closed Principle
une classe / fonction / module doit être ouverte à l'extension, mais fermée à la modification
Open / Closed Principle : exemple
Liskov Substitution Principle
si Fille extends Mère alors Mère doit pouvoir être remplacé par Fille sans aucun soucis
Interface Segregation Principle
créer une interface pour chaque usage plutôt qu’une interface générale
Dependency Inversion Principle
il faut dépendre des abstractions, pas des implémentations
5. TDD : Test Driven Development
Se laisser porter jusqu’à la solution, puis l’améliorer