Clean Code

Clean Code, principes SOLID et refactoring

  • Imprimer le programme Imprimer le programme
  • Filière :

    Développement logiciel

  • Sous-filière :

    Craftsmanship

  • Référence

    MP-CCD

  • Durée

    2 jours

  • Prix unitaire HT

    1550 €

Objectifs pédagogiques Objectifs pédagogiques

  • Comprendre la notion de dette technique et les principes SOLID
  • Comprendre les enjeux de l’écriture de tests automatisés et le coût de la mise en production de code non testé automatiquement
  • Maîtriser l’écriture de tests automatisés, unitaires et tests d’intégration ainsi que les principes et patterns du « clean code » en programmation objet
  • Comprendre le principe du travail à partir de katas et 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 Public cible

  • Développeurs expérimentés

Pré-requis Pré-requis

Bonne maîtrise du langage Java et de ses API fondamentales
Avoir déjà été confronté aux problèmes de gestion de bases de code anciennes, volumineuses et non (ou mal) testées est un avantage

Programme de la formation 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 refactoring.

Enjeux du clean code : maîtriser la dette technique

  • Notion de dette technique
  • Impact de la dette technique sur la maintenance des applications
  • Impact de la dette technique sur le cycle SCRUM

Importance des tests : approches TDD et BDD

  • Cycle TDD
  • Écriture des tests JUnit
  • Écriture des tests Cucumber

Introduction des principes du Clean Code

  • Principes SOLID
  • Principes de l’eXtreme Programming

Travail sur le code legacy (développement brownfield)

  • Spécificités du travail sur code legacy
  • Exemple du Kata Rental Movie (code legacy)
  • Application du pattern Strategy, principe Open Closed
  • Bilan : détecter les manquements au SRP

Application au nouveau code (développement greenfield)

  • Application au kata Mars Rover
  • Bilan : application du principe Open Closed