Essential skills for the agile developer
-
Upload
alice-barralon -
Category
Technology
-
view
461 -
download
0
Transcript of Essential skills for the agile developer
1
Qualités essentielles pour un développeur agile
@a_barralon
2
Essential skills for the agile developer :a guide to better programming and design
IonicAngular JS SparkGitHadoop…
3
Essential skills for the agile developer
L’informatique est non prédictive.
La technologie est un outil au service du développeur.
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
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
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
Programmation par intention
Avantages :
+ cohésion
+ lisibilité
+ simple à débugguer
+ simple à réfactorer
+ simple à unit-tester
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
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
Séparer l’utilisation de la construction
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
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
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
Merci !