Principi di ingegneria del software

Caso di studio: sviluppare software in Python

Mark Pedigo

Principal Data Scientist

Roadmap

Roadmap che mostra cosa del progetto è già fatto e cosa inizieremo.

Caso di studio: sviluppare software in Python

Modularità

Modularità: principio chiave dell’ingegneria del software

  • Moduli distinti e indipendenti
  • Funzionalità mirata e specifica
  • Interfacce chiare e definite
  • Sviluppo, test e manutenzione separati
Caso di studio: sviluppare software in Python

Il principio DRY

"Don't Repeat Yourself": principio chiave dell’ingegneria del software

  • Minimizza la ripetizione
  • Componenti e classi riutilizzabili
  • Scrivi una volta, riusa ovunque
  • Codice pulito, manutenibile, meno soggetto a errori
Caso di studio: sviluppare software in Python

Packaging

Packaging: principio chiave dell’ingegneria del software

  • Gerarchia di cartelle ordinata
  • Gestisci e struttura il codice in modo efficiente
  • Il file __init__.py per inizializzare i moduli
Caso di studio: sviluppare software in Python

Creare un package

  • Struttura minima: cartella package + file Python
  • Package: cartella + file __init__.py
  • Nomi directory brevi, minuscoli, con underscore
  • __init__.py: identifica la cartella come package
Caso di studio: sviluppare software in Python

Import assoluti e relativi

  • Supponi di avere la seguente struttura del progetto
project \
   |--- package
   |    |--- module1.py
   |    |--- module2.py
   |--- main.py
  • Import assoluto: percorso completo dalla root
    • from package import module1
    • from package.module1 import function
  • Import relativo: percorso rispetto alla posizione corrente (. = corrente, .. = genitore)
    • from . import module1
    • from .module1 import function
  • Assoluto: chiaro, meno portabile
  • Relativo: flessibile, dipende dal contesto
Caso di studio: sviluppare software in Python

Passiamo alla pratica !

Caso di studio: sviluppare software in Python

Preparing Video For Download...