- Comprendre le Clean Code, ses principes et son intérêt
- Bien structurer et formater ses programmes
- Comprendre le BDD et son utilité
- Comprendre le TDD et son utilité
- Connaître les bonnes pratiques de productivité et de communication en programmation
Introduction au Clean Code
- Qu'est-ce qu'un code propre ?
- Le bon et le mauvais codeur
- Pourquoi utiliser le Clean Code ? Mesurer le coût d'un code défaillant
- Les points clés du Clean Code
Les principes SOLID
- Historique
- Le principe de substitution de Liskov
- L'inversion de dépendance
- La responsabilité unique
- La séparation des interfaces
- Le principe ouvert fermé
- Don't Repeat Yourself (DRY)
Les conventions de nommage
- Des noms simples et clairs
- Éviter l'ambiguïté
- Des noms pouvant être recherchés et prononcés
- Les pièges à éviter
- Le nommage des classes
- Le nommage des méthodes
Une bonne structure du code
- L'importance d'une bonne structure
- La structure des données
- La structure des objets
- Le formatage vertical
- Le formatage horizontal
Les fonctions
- La structure
- Éviter les effets secondaires
- Un niveau d'abstraction par fonction
- Utiliser les bons arguments
- Utiliser les bonnes déclarations
- Séparer les commandes
Les classes et les commentaires
- Organiser ses classes
- L'importance de commenter
- Bon commentaire vs mauvais commentaire
- Ne pas utiliser le commentaire pour améliorer son code
Test Driven Development (TDD)
- Pourquoi utiliser le TDD ?
- Les principes fondamentaux
- Réaliser des tests clean
- L'acronyme FIRST
- Présentation des outils
- jUnit
- Mochajs
- Mockito
- Jest
- Pytest
Behaviour Driven Development (BDD)
- Présentation du BDD
- Pourquoi automatiser ses tests ?
- BDD vs TDD
- Définir son projet et les prés-requis
- Les outils de BDD
- Behat
- Zephys SCale
- Easy B
- JDave
- JBehave
Gestion du temps
- Les bénéfices et les risques des réunions
- Quand se réunir et comment ?
- Garder son focus et éviter le multitâche
- Time boxing
- Automatiser les tâches répétitives
- Utiliser les IDE
Attestation de formation
Non certifiante
Sans niveau spécifique