Essential skills for the agile developer

527 vues

Publié le

Présentation BDX.IO Octobre 2015

Publié dans : Technologie
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Essential skills for the agile developer

  1. 1. 1 Qualités essentielles pour un développeur agile A. Barralon a.barralon@oriions.com @a_barralon
  2. 2. 2 Essential skills for the agile developer : a guide to better programming and design Ionic Angular JS Spark Git Hadoop …
  3. 3. 3 Essential skills for the agile developer L’informatique est non prédictive. La technologie est un outil au service du développeur.
  4. 4. 4 Essential skills for the agile developer Le design et la complexité d’un système sont difficiles à cadrer en totalité en amont d’un projet. Complexité simplifiée + Design minimaliste
  5. 5. 5 Essential skills for the agile developer Trim-tabs essentiels : 1. Programmation par intention 2. Séparer l’usage et la construction 3. Considérer les tests avant d’écrire le code
  6. 6. 6 Programmation par intention Découpe le problème en étape fonctionnelle (bullet points) : 1 classe == 1 responsabilité • on prend une ‘commande’ à commiter • on tokenize la commande • on normalise les tokens • on traite selon les cas de la taille des tokens • on retourne le résultat
  7. 7. 7 Programmation par intention Avantages : + cohésion + lisibilité + simple à débugguer + simple à réfactorer + simple à unit-tester
  8. 8. 8 Séparer l’utilisation de la construction On sépare l’utilisation de l’instantiation. • création d’une instance d’un Service • on le délègue pour effectuer d’autres tâches
  9. 9. 9 Séparer l’utilisation de la construction Créateurs (:type) : WHAT something IS Utilisateurs (:interface) : HOW something operates “what you hide you can change”
  10. 10. 10 Séparer l’utilisation de la construction
  11. 11. 11 Définir les tests en amont Les tests et la qualité du code “je ne peux pas tester ce code…” • car il fait trop de chose entremêlées -> (problème de cohésion) • car j’ai besoin d’une douzaine d’autre chose → couplage excessif • car c’est du code copié dans pleins d’endroits et modifiés à certains points → redondance
  12. 12. 12 Définir les tests en amont Les programmeurs grenouille • Planification (l’action de faire un plan d’ensemble) → écrire les specs de test • Plan (description des différentes étapes) → écrire les tests • Suivre le plan (effectuer les étapes) → jouer les tests
  13. 13. 13 Conclusion Lire, c’est prendre des risques, parfois se mettre en danger. Non, ce n’est pas un acte neutre et divertissant. C’est un exercice de liberté, et nous en restons rarement indemnes. Mais une chose est certaine, palpable, et cette expérience peut être faite par chaque lecteur, nous agrandissons notre Moi, nous sortons de nos prisons mentales, nous déverrouillons notre regard sur le monde, dans l’acte de lire.
  14. 14. 14 Merci !

×