Introduction à la formation Software Craftmanship
Présentation des objectifs et du déroulement de la formation
Discussion sur l’importance du software craftsmanship
Comparaison avec les autres approches (Waterfall, Agile, etc.)
Exemple de cas pratiques : Analyse et discussion sur les approches de développement de logiciels
Le Craft
Attitude et état d’esprit du software craftsmanship
Les valeurs et principes clés du craft
Importance du continuous learning
Exemple de cas pratiques : Analyse de situations réelles pour identifier des opportunités d’apprentissage continu
Les tests automatisés
Les 3A : Arrange, Act, Assert
Test-Driven Development (TDD)
Chicago school vs London school
Behavior-Driven Development (BDD)
Overview de outils de tests automatisés : JUnit, Selenium…
Exemple de cas pratiques : Mise en place de tests automatisés pour un projet existant
Principes généraux et meilleures pratiques de développement
Principes fondateurs de la POO
Les principes SOLID
Importance du nommage
Le bon sens par les acronymes: YAGNI/KISS/DRY/POLA
Refactoring legacy code
Les smells de Martin Fowler (Duplicated method, Duplicated class, Long method, Long class, Primitive obsession)
Bref aperçu d’autres smells
Approval test/Golden master
Double appel
Exemple de cas pratiques : Identification et correction des code smells dans un projet hérité