Перейти к содержимому

🐍 **REFACTORING PYTHON — DES FONCTIONS À LA MODULARITÉ | Partie 2**

CodeEnJava

0:00 / 0:00

🐍 **REFACTORING PYTHON — DES FONCTIONS À LA MODULARITÉ | Partie 2**

23 просмотра · 6 дней назад
CodeEnJava
62 подписчика
23 просмотра · 6 дней назад
🐍 *REFACTORING PYTHON — DES FONCTIONS À LA MODULARITÉ | Partie 2* Dans cette deuxième vidéo consacrée au **refactoring Python**, nous poursuivons l'évolution du projet **« Analyse des participants avec les ensembles »**. 🎯 *Objectif :* transformer progressivement le programme en une application plus **modulaire, lisible, réutilisable et maintenable**, grâce aux fonctions et à la séparation des responsabilités. --- 🔄 RETOUR SUR LA PREMIÈRE PARTIE Avant de poursuivre, nous faisons le point sur les modules déjà créés : 📁 `data_menu.py` → données des menus 📁 `utils.py` → fonctions utilitaires 📁 `reader.py` → saisie utilisateur 📁 `menu.py` → affichage des menus Une présentation réalisée avec Genially accompagne cette évolution : 🔗 https://view.genially.com/6a9e9f6c814... --- ⌨️ ÉVOLUTION DE `reader.py` Nous enrichissons le module `reader.py` afin de centraliser les saisies utilisateur. Deux fonctions sont notamment utilisées : 🔹 `read_integer_min_max()` → lire et contrôler un entier 🔹 `read_str()` → lire et contrôler une chaîne non vide Nous abordons également : `while True` `try / except` `ValueError` `TypeError` `isinstance()` validation des paramètres contrôle des valeurs L'objectif est de rendre les fonctions plus **robustes et réutilisables**. --- ⚙️ CRÉATION DE `services.py` Nous créons ensuite le module : 📁 *`services.py`* Son rôle est de regrouper les fonctions réalisant les **opérations sur les groupes de participants**. Quatre fonctions sont étudiées : 🔹 `groupe_set()` → transformer la liste des groupes en dictionnaire 🔹 `is_items_str()` → valider le contenu du dictionnaire 🔹 `display_groupes()` → afficher les groupes 🔹 `select_group()` → sélectionner un groupe --- 🔗 RÉUTILISER LES FONCTIONS Une notion essentielle apparaît : **une fonction peut appeler une autre fonction**. Par exemple : ```text select_group() ↓ is_items_str() ↓ display_groupes() ↓ read_integer_min_max() ``` On évite ainsi de dupliquer le code et chaque fonction conserve une **responsabilité clairement définie**. --- 🏗️ VERS UNE APPLICATION MODULAIRE L'architecture évolue progressivement vers : ```text data.py → données reader.py → saisies utilisateur services.py → opérations métier menu.py → affichage des menus main.py → orchestration ``` On retrouve ainsi le principe : *Données → Services → Interface → Programme principal* C'est cette séparation des responsabilités qui constitue l'un des objectifs essentiels du **refactoring**. --- 🧠 NOTIONS ABORDÉES 🐍 Fonctions Python 🐍 Paramètres et valeurs de retour 🐍 `return` 🐍 `while True` 🐍 `try / except` 🐍 `TypeError` et `ValueError` 🐍 `isinstance()` 🐍 Dictionnaires 🐍 Validation des données 🐍 Réutilisation des fonctions 🐍 Modularité 🐍 Refactoring --- 💻 CODE SOURCE Le projet complet est disponible sur GitHub : 🔗 https://github.com/CodeEnJava/2026-se... Vous pouvez ainsi suivre les différentes étapes du refactoring et l'évolution progressive de l'architecture. --- 👍 Si la vidéo vous plaît, pensez à *liker**, à vous **abonner à CodeEnJit* et à activer la 🔔 pour suivre les prochaines séances. 💬 Vos questions et remarques sont les bienvenues dans les commentaires. #Python #Refactoring #FonctionsPython #Modularité #ProgrammationPython #CodePython #ApprendrePython #CodeEnJava