loader image

Gate Training

logo-png
Langages et Développement

Formation Software Craftsmanship

3 Jours

La formation Software Craftsmanship vous initie à des pratiques de développement avancées, axées sur la qualité, la propreté et la maintenabilité du code. Vous apprendrez à appliquer des principes tels que TDD, SOLID, et Clean Code pour créer des logiciels durables et sans défaut. Grâce à des exercices pratiques et des cas concrets, cette formation vous aidera à devenir un véritable artisan du code.

Description de la formation Software Craftsmanship

La formation Software Craftsmanship est conçue pour les développeurs expérimentés souhaitant perfectionner leurs pratiques de développement et adopter des méthodes de programmation de haute qualité. Né dans les années 1990, le software craftsmanship (l’« artisanat du logiciel ») repose sur l’idée que la qualité du code ne se limite pas à la fonctionnalité, mais inclut la propreté du code, la simplicité et la maintenabilité sur le long terme. Dans cette approche, les développeurs sont invités à devenir des artisans du code, en appliquant des principes tels que TDD (Test Driven Development), SOLID, Clean Code, et des pratiques issues de l’eXtreme Programming (XP).

Cette formation offre une exploration approfondie des principes du Software Craftsmanship, vous apprenant à appliquer ces techniques de manière pragmatique sur du code nouveau (greenfield development) ou du code existant (brownfield development). À travers des exercices pratiques, vous découvrirez comment améliorer la qualité, réduire les défauts et favoriser la longévité du code.

Objectifs de la Formation

Objectif opérationnel :

  • Apprendre à implémenter les différentes étapes du développement dirigé par les tests (TDD) et appliquer ces principes à du code existant ou à du nouveau code.

Objectifs pédagogiques : 

À l’issue de cette formation, vous serez capable de :

  • Comprendre et appliquer les principes fondamentaux du Software Craftsmanship.
  • Maîtriser le processus de développement TDD et ses bonnes pratiques.
  • Appliquer les principes SOLID et les pratiques du Clean Code à la programmation orientée objet.
  • Mettre en œuvre les pratiques de l’eXtreme Programming telles que le pair programming, les coding dojos et les Katas.
  • Optimiser et refactoriser des bases de code existantes en respectant les meilleures pratiques de Software Craftsmanship.
  • Utiliser des outils comme Gherkin et Cucumber pour écrire des tests comportementaux et intégrer ces pratiques dans votre pipeline de développement.

À qui s’adresse cette formation ?

Public :

Cette formation s’adresse aux développeurs expérimentés, particulièrement ceux qui souhaitent améliorer la qualité et la maintenabilité de leur code, qu’il soit nouveau ou existant. Elle est idéale pour ceux qui travaillent sur des applications complexes ou des bases de code vieillissantes, et souhaitent appliquer des pratiques professionnelles et des standards élevés de développement.

Prérequis :

Les participants doivent avoir une solide expérience en Java et être familiers avec ses APIs fondamentales. Bien qu’optionnel, avoir déjà travaillé sur des bases de code existantes, surtout volumineuses et non testées, serait un avantage pour tirer le meilleur parti de cette formation.

Contenu du Cours : Software Craftsmanship

Introduction au Développement Dirigé par les Tests (TDD)

  • Présentation du cycle TDD : Red-Green-Refactor.
  • Exemple pratique : Développement du Kata FizzBuzz.
  • Bilan de la pratique du TDD et de son impact sur la qualité du code.

Principes du Clean Code et SOLID

  • Introduction aux principes SOLID pour la conception de code propre et flexible.
  • Application des principes du Clean Code dans le développement de logiciels maintenables.
  • Exercices pratiques : Refactorisation d’un code existant en appliquant Clean Code.

Pratiques de l’eXtreme Programming (XP)

  • Introduction au Pair Programming : Comment collaborer efficacement en binôme.
  • Coding Dojos : Pratiques de collaboration et d’apprentissage continu.
  • Katas : Exercices pour affiner vos compétences techniques et résoudre des problèmes de manière élégante.

Application du Principe Open / Closed

  • Étude du pattern Strategy et de son implémentation.
  • Exemple pratique : Kata RPN Calculator.
  • Développement et refactorisation en appliquant le principe Open/Closed.

Travail sur le Code Legacy et le Single Responsibility Principle (SRP)

  • Techniques pour améliorer des bases de code anciennes ou mal structurées.
  • Exemple pratique : Kata Rental Movie (Code Legacy).
  • Détection des violations du Single Responsibility Principle (SRP) et correction du code.

Utilisation de Gherkin et Cucumber pour les Tests Comportementaux

  • Introduction à Gherkin : Syntaxe et organisation des tests comportementaux.
  • Écriture de tests avec Cucumber et exécution dans un projet Java.
  • Intégration avec Maven pour la génération de rapports de tests.

Mise en Œuvre sur un Kata Complexe : Mars Rover

  • Application des principes et des outils sur un projet complexe.
  • Résolution du Kata Mars Rover : Écriture des tests et développement itératif.
  • Conclusion et bilan de la formation : Amélioration continue du code selon la philosophie du Software Craftsmanship.

Méthodologie et Outils

Cette formation combine théorie et pratique, avec des exemples concrets et des exercices en groupe. Les participants travailleront sur des cas réels, affineront leurs compétences de refactorisation et apprendront à gérer des bases de code complexes de manière évolutive et maintenable.

 

Le Software Craftsmanship est un cadre essentiel pour les développeurs souhaitant créer des logiciels non seulement fonctionnels, mais aussi élégants, durables et faciles à maintenir. À travers cette formation, vous vous donnerez les moyens de devenir un véritable artisan du code, en appliquant des principes éprouvés et en adoptant une démarche de qualité et de perfectionnement continu.

 

Réf:

015

Tarif:

600 Dt

Niveau:

Intermédiaire

Classe à distance:

Possible