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 > Développement > Javascript > Clean Code, TDD, BDD et principes SOLID Front-End

Clean Code, TDD, BDD et principes SOLID Front-End

Objectifs

  • Connaître les principes SOLID
  • Comprendre la logique TDD et BDD
  • Aborder les principes du refactoring

Public

  • Développeurs

Prérequis

  • Maîtrise de JavaScript ECMAScript 6 (ES6)

Programme de la formation

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 / Close : 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

Informations complémentaires

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.Les katas seront réalisés avec TypeScript.