Formation Conceptualisation objet : Calisthenics et SOLID
Calisthenics est un ensemble de règles et de bonnes pratiques visant à améliorer la qualité du code et à rendre le développement de logiciels plus efficace et plus facile à maintenir. Ces règles couvrent différents aspects de la programmation, tels que la structuration du code, l'utilisation des variables et des fonctions, et la gestion des erreurs. SOLID est un acronyme qui désigne cinq principes de conception de logiciels qui visent à rendre le code plus facile à maintenir et à évoluer. Ces principes sont : • Single Responsibility Principle (Principe de responsabilité unique) : chaque module ou classe doit avoir une seule responsabilité et ne doit être modifiée que pour remplir cette responsabilité. • Open/Closed Principle (Principe ouvert/fermé) : les modules ou classes doivent être conçus de manière à être facilement extensibles sans être modifiés. • Liskov Substitution Principle (Principe de substitution de Liskov) : les sous-types doivent être substituables aux types de base sans altérer le bon fonctionnement du programme. • Interface Segregation Principle (Principe de ségrégation des interfaces) : les interfaces doivent être spécifiques et n'exposer que les fonctionnalités nécessaires à leur utilisateur. • Dependency Inversion Principle (Principe de l'inversion des dépendances) : les modules ou classes doivent dépendre des abstractions plutôt que des concrétions. En utilisant ces principes de conception, les développeurs peuvent créer du code de qualité supérieure qui est plus facile à maintenir et à évoluer au fil du temps.
Objectifs pédagogiques
- Savoir améliorer la qualité de conception de son code
- Savoir déceler les freins à l’évolution fonctionnelle et au réemploi de son code
- Savoir sortir de sa routine habituelle d’écriture de code
- Connaître les bonnes pratiques de codage
Pré-requis
- Connaissance du langage Java
Public
- Développeurs
- Chefs de projets
Programme
Jour 1
Cycle de vie d’une application
- Création, maintenance applicative, ajout de fonctionnalité
- Problèmes liés à l’évolution applicative
Causes de l’intolérance au changement
- Historique dans l’industrie automobile (Toyota, Ford)
- Les causes : rigidité, fragilité, immobilisme, viscosité, opacité
Jour 2
Les principes SOLID
- Comment créer les principes une application maintenable, extensible, réutilisable et testable avec les principes IMPORTANTS de la programmation objet
- Single Responsability Principle - responsabilité unique
- Open/Close Principle - ouverture aux extensions et fermeture aux modifications
- Liskov Substitution Principle - substitution de Liskov
- Interface Segregation Principle - ségrégation des interface
- Dependency Inversion Principle - inversion des dépendances
Jour 3
Object Calisthenics
- Comment penser son code autrement
- Comment améliorer la qualité de son code
- Les 9 règles de base à connaître absolument
Méthodes mobilisées
- Un formateur validé par nos équipes techniques et pédagogiques sera présent pendant toute la durée de la formation
- Pour les formations en présentiel, une salle de formation sera mise à disposition et équipée d'ordinateurs portables, d'un accès Wi-Fi, d'un projecteur et d'un tableau blanc. En distanciel la session sera suivie sur Zoom ou autre outil de visioconférence sur demande (Teams, Webex, Google Meet...).
- Un support de cours en version numérique sera remis à chaque participant
Modalités d’évaluation
- Questions orales ou écrites (QCM)
- Exercices pratiques
- Auto-positionnement en amont et aval de la formation