Code prüfen und refaktorieren

Fallstudie: Software in Python entwickeln

Mark Pedigo

Principal Data Scientist

Vorteile regelmäßiger Code-Reviews

  • Bessere Codequalität
    • Inkonsistenzen früh erkennen
  • Wissensaustausch
    • Zusammenarbeit
    • Abgestimmt bleiben
  • Konsistenz und Best Practices
    • Hohe Standards

Zwei Personen prüfen Code am Computer

Fallstudie: Software in Python entwickeln

Beispiel für ein Code-Review

def factorial(n):
    if n == 0:
        return 1
    else:
        result = 1
        for i in range(1, n + 1):
            result *= i
        return result

Gib Feedback zu:

  • Funktionalität
  • Lesbarkeit
    • Beispiel – unnötiges else
  • Edge Cases
    • Beispiel – negative Zahlen bei Fakultät
Fallstudie: Software in Python entwickeln

Vorteile des Refactorings

  • Bessere Codequalität
  • Leichtere Wartung
  • Weniger technische Schulden

Spaghetti wird zu einem Flussdiagramm

Fallstudie: Software in Python entwickeln

Refactoring-Beispiel

# Original code
def factorial(n):
    if n == 0:
        return 1
    else:
        result = 1
        for i in range(1, n + 1):
            result *= i
        return result
# Refactored code
def factorial(n):
    if n < 0:
        raise ValueError("Not defined")

if n == 0: return 1
result = 1 for i in range(1, n + 1): result *= i return result
Fallstudie: Software in Python entwickeln

Neue Funktion für neue Formel

Bisherige Formel $$m = P \cdot \frac{r (1 + r)^N}{(1+r)^N - 1}$$ wobei $m$ die monatliche Rate ist, $P$ der Kreditbetrag, $r$ der monatliche Zinssatz und $N$ die Anzahl der Monatsraten

Neue Formel $$P = m \cdot \frac{(1+r)^N - 1}{r (1 + r)^N}$$

Fallstudie: Software in Python entwickeln

Roadmap

Roadmap zeigt, was im Projekt fertig ist und was als Nächstes startet

Fallstudie: Software in Python entwickeln

Lass uns üben!

Fallstudie: Software in Python entwickeln

Preparing Video For Download...