Principes d'ingénierie logicielle

Étude de cas : créer des logiciels en Python

Mark Pedigo

Principal Data Scientist

Feuille de route

Feuille de route montrant les parties du projet terminées et celles à entamer.

Étude de cas : créer des logiciels en Python

Modularité

Modularité : principe clé en génie logiciel

  • Modules distincts et autonomes
  • Fonctionnalités ciblées et précises
  • Interfaces claires et bien définies
  • Développement, tests et maintenance séparés
Étude de cas : créer des logiciels en Python

Principe DRY

« Don't Repeat Yourself » : principe clé en génie logiciel

  • Minimiser les répétitions
  • Composants et classes réutilisables
  • Écrire une fois, réutiliser largement
  • Code propre, maintenable, moins sujet aux erreurs
Étude de cas : créer des logiciels en Python

Empaquetage

Empaquetage : principe clé en génie logiciel

  • Arborescence de dossiers organisée
  • Gérer et structurer le code efficacement
  • Le fichier __init__.py pour l'initialisation du module
Étude de cas : créer des logiciels en Python

Créer un paquet

  • Structure minimale : dossier de paquet + fichier Python
  • Paquet : dossier + fichier __init__.py
  • Noms de répertoires courts, minuscules, avec traits de soulignement
  • __init__.py : identifie le dossier comme paquet
Étude de cas : créer des logiciels en Python

Importations absolues et relatives

  • Supposons la structure de projet suivante
project \
   |--- package
   |    |--- module1.py
   |    |--- module2.py
   |--- main.py
  • Importation absolue : chemin complet depuis la racine
    • from package import module1
    • from package.module1 import function
  • Importation relative : chemin selon l'emplacement courant (. = courant, .. = parent)
    • from . import module1
    • from .module1 import function
  • Absolue : claire, mais moins portable
  • Relative : flexible, dépend du contexte
Étude de cas : créer des logiciels en Python

Passons à la pratique !

Étude de cas : créer des logiciels en Python

Preparing Video For Download...