LU07.L02 - Technik-Steckbrief

Es gibt keine einzig richtige Auswahl. Die beiden folgenden Steckbriefe zeigen den erwarteten Detaillierungsgrad.

Beispiel 1: Extract Function

# vorher
def rechnung(positionen):
    total = 0
    for p in positionen:
        total += p["menge"] * p["einzelpreis"]
    return f"Total: {round(total, 2)} CHF"
 
# nachher
def gesamtsumme(positionen):
    return round(sum(p["menge"] * p["einzelpreis"] for p in positionen), 2)
 
def rechnung(positionen):
    return f"Total: {gesamtsumme(positionen)} CHF"

Beispiel 2: list durch set ersetzen

# vorher
gesperrt = [f"user{i}" for i in range(10000)]
# nachher
gesperrt = {f"user{i}" for i in range(10000)}

Bewertungshinweise

Kriterium Erfüllt, wenn
Zweck benennt konkret, was einfacher wird, nicht «sauberer»
Vorher/Nachher beide Fassungen lauffähig und mit gleichem Ergebnis
Preis ein realer Nachteil, nicht «keiner»
Performance-Massnahmen mit gemessener Zahl, nicht mit Behauptung
Funktionaler Bezug mindestens eine Technik betrifft Pipeline, pure oder immutable

© Kevin Maurizi