Recherche avancée
Par formation
Par date
Par ville
logo HUB Formation
Organisme de Formation
aux Technologies et métiers de L'informatique
La pédagogie au service de la technologie
Accueil > Domaines > Outils & Méthodes > Software Craftsmanship : Clean Code, TDD, BDD et principes SOLID

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

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. 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.

Objectifs

  • 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

  • Développeurs

Prérequis

  • 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.

Programme de la formation

Introduction à la pratique du développement dirigé par les tests

  • Exercice pratique : Elephant Carpaccio
  • Mise en œuvre du cycle de développement
  • Bilan

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

Pratiques de l’eXtreme Programming

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

Introduction des principes SOLID

Le principe Open / Close : application au pattern Strategy

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

Le Single Responsibility Principle : application au Kata Rental Movie

  • Exemple du Kata Rental Movie (code legacy)
  • Développement du Kata
  • Bilan : détecter les manquements au SRP

Travail sur le code legacy

  • Spécificités du travail sur code legacy
  • Principes fondamentaux du travail sur code legacy
  • Méthodes, approches

Katas code legacy

  • Exemple du Kata Rental Movie
  • Développement du Kata
  • Bilan : étapes du développement

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
  • Utilisation de fonctionnalités avancées : tests paramétrés, tables de données
  • Utilisation d’annotations
  • Intégration avec Maven, génération de rapports de tests
  • Mise en œuvre sur un kata complexe : Mars Rover.