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

Ecrire un code TESTABLE

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

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é