Presentazione della sfida

Caso di studio: sviluppare software in Python

Mark Pedigo, PhD

Principal Data Scientist

Cos’è un case study?

  • Applica le competenze a un problema reale
  • Corsi propedeutici
    • Principi di ingegneria del software in Python
    • Programmazione a oggetti intermedia in Python

Due persone in riunione che discutono un case study

Caso di studio: sviluppare software in Python

Scenario del case study

Determinare il mutuo per nuove case

  • Addetto ai prestiti per PyBank Financial
  • Crea un programma per
    • Stimare la spesa per la casa
    • Calcolare la rata mensile
  • Nota: solo a scopo illustrativo

loan_officer.jpg

Caso di studio: sviluppare software in Python

Piano d’azione

  • Software che automatizza i calcoli
  • Usa principi di ingegneria del software, basati su classi
  • Fasi
    • Calcolatrice di base
      • +, -, *, /, **
    • Calcolatrice finanziaria
      • Calcolare interesse, tasso d’interesse
    • Calcolatrice mutuo
      • Calcolare importo del prestito, rate

Tre calcolatrici, in dimensioni crescenti

Caso di studio: sviluppare software in Python

Ereditarietà

Il codice si riusa tra classi

  • La sottoclasse (FinancialCalculator) eredita tutta la funzionalità dalla superclasse (BasicCalculator)
  • La sottoclasse può aggiungere altra funzionalità
class BasicCalculator:
    def multiply(self, x, y):
        result = x * y
        return result
  ...
# Child of BasicCalculator
class FinancialCalculator(BasicCalculator):
    def months_from_years(self, years):
        # Inherits the .multiply() method
        return self.multiply(years, 12)
    ...
Caso di studio: sviluppare software in Python

Ripasso dei principi di ingegneria del software

  • Codice modulare, pulito, leggibile, efficiente
    • Ereditarietà, metodi
  • Sfrutta librerie, framework e soluzioni esistenti
    • Modifica codice preesistente
    • Snellisci lo sviluppo
  • Documentazione chiara, commenti, guide d’uso
    • Documentazione
  • Test
    • doctest e unit test

Un computer circondato da icone che rappresentano l’ingegneria del software

Caso di studio: sviluppare software in Python

Roadmap

Roadmap che mostra le diverse parti del progetto.

Caso di studio: sviluppare software in Python

Costruiamo!

Caso di studio: sviluppare software in Python

Preparing Video For Download...