Software Craftsmanship par José Paumard

Software Craftsmanship : Clean Code, TDD, BDD et principes SOLID

  • Filière :

    Développement logiciel

  • Sous-filière :

    Craftsmanship

  • Référence

    MP-SCS

  • Durée

    3 jours (21 h)

  • Prix unitaire HT

    2 100 € HT

Description

Un logiciel peut être parfaitement fonctionnel mais poser de nombreux problèmes de fiabilité et de maintenabilité. Le Software Craftsmanship ou « l’artisanat du logiciel » propose un ensemble de méthodes et d’approches de haute qualité pour concevoir et construire des bases de code de tous volumes maintenables à coût constant. Ces méthodes s’appuient sur les principes SOLID, les principes du Clean Code et de l’eXtreme Programming.
La formation s’adresse à des développeurs Java expérimentés ayant une bonne connaissance du langage et de ses API fondamentales. Une première confrontation aux problèmes de gestion de bases de code anciennes, volumineuses et non (ou mal) testées est un avantage.

A propos de José Paumard :

José est Java Developer Advocate au Java Platform Group chez Oracle. Anciennement maître de conférences à l’Université Sorbonne Paris Nord pendant 25 ans, il est Java Champion, Rockstar JavaOne, speaker régulier dans de nombreuses conférences : Devoxx (France, Belgique, UK), JavaOne, Oracle Code One, DevNexus, JFokus. Il a été consultant en entreprise pendant 25 ans, fortement investi en qualité des applications logicielles et Software Craftsmanship depuis 2015 au travers de missions de coaching et de formation auprès de plusieurs sociétés (SGCIB, Renault, Crédit Agricole, Groupama, Accenture). La formation Software Craftsmanship qu’il a créée, commercialisée par Oxiane Institute, est suivie par une centaine de développeurs chaque année.

Objectifs pédagogiques

  • Comprendre la notion de développement dirigé par la valeur
  • Maîtriser les différentes étapes du développement TDD
  • Maîtriser les principes SOLID et les patterns du « clean code » en programmation objet
  • Comprendre les pratiques de l’eXtreme programming : pair programming, coding dojos
  • Etre capable d’appliquer ces principes et patterns au développement de nouveau code (greenfield development) et au code existant (brownfield development)

Public cible

  • Développeurs

Pré-requis

Une première confrontation aux problèmes de gestion de bases de code anciennes, volumineuses et non (ou mal) testées est un avantage.

Programme de la formation

Le programme se compose de 30% présentation sur slides, 70% de codage. La partie codage porte principalement sur le codage de « Katas », un exercice essentiel pour s’exercer à la pratique du TDD / BDD.

Introduction à la pratique du développement dirigé par les tests, le cycle de développement TDD

  • Exemple du Kata FizzBuzz
  • Développement du Kata
  • Bilan : les étapes de la pratique du TDD

Introduction des principes du Clean Code et des principes SOLID

Pratiques de l’eXtreme Programming

  • Pratiques des Katas
  • Pratiques des Coding Dojo
  • Pratiques du Pair Programming

Le principe Open / Closed : application au pattern Strategy

  • Exemple du Kata RPN Calculator
  • Développement du Kata
  • Bilan : le pattern Strategy et son implémentation

Travail sur le code legacy, Single Responsibility Principle

  • Spécificités du travail sur code legacy
  • Exemple du Kata Rental Movie (code legacy)
  • Bilan : détecter les manquements au SRP

Utilisation de Gherkin / Cucumber pour l’écriture de tests

  • Écriture de tests en Gherkin : méthodes, organisation, syntaxe
  • Écriture de classes Cucumber pour l’exécution de ces tests
  • Fonctionnalités avancées : tests paramétrés, tables de données, tags
  • Intégration avec Maven, génération de rapports de tests

Mise en oeuvre sur un kata complexe : Mars Rover

  • Ecriture des tests avec Cucumber
  • Résolution du kata
  • Conclusion

Qualité

Cette formation est accessible aux personnes en situation de handicap, nous contacter en cas de besoin d’informations complémentaires.

Programme mis à jour le