Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Ecrire un code TESTABLE

Ecrire un code TESTABLE

Comment écrire un code testable et éviter les erreurs de régression et assurer une application maintenable a long terme.
Une conférence qui été dans l'event Call4Tech a Constantine (Algérie) le 09/05/2014

More Decks by Mohamed Cherif Bouchelaghem

Other Decks in Programming

Transcript

  1. SOLID « S » Principe de Responsabilité unique Une classe

    n’a qu’une, et une seule, raison de changer
  2. SOLID « S » Principe de Responsabilité unique • La

    solution est de diviser la classe en deux , une pour communication avec le web service et la deuxième pour passer les donner à notre objet • Le web service sera ‘Mocké’ dans le test facilement • Des méthodes plus petites, moins de dépendances entre les méthodes et moins de régression
  3. Le code doit être ouvert à l’extension mais fermé à

    la modification. SOLID « O » OPEN/CLOSED PRINCIPLE
  4. SOLID « O » OPEN/CLOSED PRINCIPLE Problème si on veux

    rajouter un autre réseau social switch/case n’est pas une solution (anti‐pattern)
  5. SOLID « O » OPEN/CLOSED PRINCIPLE Augmente la testabilité du

    code Chaque service peut être testé séparément
  6. SOLID « L » LISKOV Substitution Principle Si “S” est

    un sous-type de “T”, alors tout objet de type “T” peut être remplacé par un objet de type “S” sans altérer les propriétés désirables du programme concerné.
  7. SOLID « I » Interface Segregation Principle Quand on envoie

    un SMS est ce qu’on a besoin d’email??
  8. SOLID « I » Interface Segregation Principle SRP respecté, moins

    de tests par classe, moins de dépendance entre méthodes
  9. • SRP pour les acteurs et l’architecture de haut niveau

    • OCP pour la conception et l’extension des fonctionnalités • LSP pour l’héritage et sous typage • ISP pour la communication entre la logique métier et les clients (MVC, applications tierces…etc) • DIC pour le découplage, En résumé