Kapitel 8. Refactoring und technisches Schuldenmanagement

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Programme müssen geschrieben werden, damit Menschen sie lesen können, und nur nebenbei, damit Maschinen sie ausführen können.

Harold Abelson, Structure and Interpretation of Computer Programs (MIT Press)

Ohne Refactoring neigt das interne Design - die Architektur der Software - zum Verfall. Wenn Menschen Code ändern, um kurzfristige Ziele zu erreichen, oft ohne die Architektur vollständig zu verstehen, verliert der Code seine Struktur [...]. Der Verlust der Struktur des Codes hat einen kumulativen Effekt. Je schwieriger es ist, das Design im Code zu erkennen, desto schwieriger ist es für mich, es zu bewahren, und desto schneller verfällt es. Regelmäßiges Refactoring hilft, den Code in Form zu halten.

Martin Fowler, Refactoring: Die Verbesserung des Designs von bestehendem Code (Addison-Wesley Professional)

Als ML-Praktiker wissen wir, dass Code schnell unübersichtlich werden kann, und zwar viel schneller, als wir erwarten. Typischerweise besteht der Code zum Trainieren von ML-Modellen aus einem Semi-Boilerplate-Code, der in ein langes Notebook oder Skript geklebt wird, das großzügig mit Nebeneffekten gespickt ist - z. B. Druckanweisungen, hübsch gedruckte Datenrahmen, Datenvisualisierungen - und in der Regel keine automatisierten Tests enthält.

Das mag für Notebooks, die den ML-Prozess ...

Get Effektive Teams für maschinelles Lernen now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.