essential skills for the agile developer
TRANSCRIPT
![Page 1: Essential skills for the agile developer](https://reader035.vdocuments.fr/reader035/viewer/2022062218/5882f2551a28ab3f1e8b5d5f/html5/thumbnails/1.jpg)
1
Qualités essentielles pour un développeur agile
@a_barralon
![Page 2: Essential skills for the agile developer](https://reader035.vdocuments.fr/reader035/viewer/2022062218/5882f2551a28ab3f1e8b5d5f/html5/thumbnails/2.jpg)
2
Essential skills for the agile developer :a guide to better programming and design
IonicAngular JS SparkGitHadoop…
![Page 3: Essential skills for the agile developer](https://reader035.vdocuments.fr/reader035/viewer/2022062218/5882f2551a28ab3f1e8b5d5f/html5/thumbnails/3.jpg)
3
Essential skills for the agile developer
L’informatique est non prédictive.
La technologie est un outil au service du développeur.
![Page 4: Essential skills for the agile developer](https://reader035.vdocuments.fr/reader035/viewer/2022062218/5882f2551a28ab3f1e8b5d5f/html5/thumbnails/4.jpg)
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
![Page 5: Essential skills for the agile developer](https://reader035.vdocuments.fr/reader035/viewer/2022062218/5882f2551a28ab3f1e8b5d5f/html5/thumbnails/5.jpg)
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
![Page 6: Essential skills for the agile developer](https://reader035.vdocuments.fr/reader035/viewer/2022062218/5882f2551a28ab3f1e8b5d5f/html5/thumbnails/6.jpg)
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
![Page 7: Essential skills for the agile developer](https://reader035.vdocuments.fr/reader035/viewer/2022062218/5882f2551a28ab3f1e8b5d5f/html5/thumbnails/7.jpg)
7
Programmation par intention
Avantages :
+ cohésion
+ lisibilité
+ simple à débugguer
+ simple à réfactorer
+ simple à unit-tester
![Page 8: Essential skills for the agile developer](https://reader035.vdocuments.fr/reader035/viewer/2022062218/5882f2551a28ab3f1e8b5d5f/html5/thumbnails/8.jpg)
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
![Page 9: Essential skills for the agile developer](https://reader035.vdocuments.fr/reader035/viewer/2022062218/5882f2551a28ab3f1e8b5d5f/html5/thumbnails/9.jpg)
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”
![Page 10: Essential skills for the agile developer](https://reader035.vdocuments.fr/reader035/viewer/2022062218/5882f2551a28ab3f1e8b5d5f/html5/thumbnails/10.jpg)
10
Séparer l’utilisation de la construction
![Page 11: Essential skills for the agile developer](https://reader035.vdocuments.fr/reader035/viewer/2022062218/5882f2551a28ab3f1e8b5d5f/html5/thumbnails/11.jpg)
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
![Page 12: Essential skills for the agile developer](https://reader035.vdocuments.fr/reader035/viewer/2022062218/5882f2551a28ab3f1e8b5d5f/html5/thumbnails/12.jpg)
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
![Page 13: Essential skills for the agile developer](https://reader035.vdocuments.fr/reader035/viewer/2022062218/5882f2551a28ab3f1e8b5d5f/html5/thumbnails/13.jpg)
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.
![Page 14: Essential skills for the agile developer](https://reader035.vdocuments.fr/reader035/viewer/2022062218/5882f2551a28ab3f1e8b5d5f/html5/thumbnails/14.jpg)
14
Merci !