Konzepterklärung
In dieser Lektion geht es darum, funktionierenden Code aufzuräumen, ohne die tatsächliche Funktionsweise des Programms zu ändern. Das klingt einfach, aber Anfänger machen hier oft denselben Fehler: Sie beginnen mit dem Refactoring und ändern dabei gleichzeitig stillschweigend das Verhalten. Sobald das passiert, wird es schwierig zu erkennen, ob das Skript sauberer oder nur auf eine neue Weise fehlerhaft ist. Ein gutes Refactoring behält das Ergebnis bei, während der Code leichter lesbar, verständlicher und später einfacher erweiterbar wird. In dieser Lektion nehmen Sie ein kleines Skript mit wiederholter Formatierung und verwandeln es in etwas Strukturierteres, indem Sie die wiederholte Logik in eine Hilfsfunktion verschieben und den Einstiegspunkt klein halten. Am Ende dieser Lektion werden Sie in der Lage sein: • zu erklären, was es bedeutet, Code zu refaktorisieren, ohne das Verhalten zu ändern, • wiederholte Formatierungen oder wiederholtes String-Building in einem kleinen Skript zu erkennen, • diese Wiederholung in eine klar benannte Hilfsfunktion zu verschieben. Warum das wichtig ist: Sobald Ihre Dateien über ein paar Zeilen hinauswachsen, verlangsamt Sie unübersichtlicher Code mehr als schwierige Syntax. Wenn Sie frühzeitig lernen, Code zu bereinigen, sparen Sie in jeder nachfolgenden Lektion Zeit.
Wo der Code hingehört
- Definieren Sie Farb- und Positionsvariablen oben.
- Erstellen Sie die Logik für das Zeichnen oder Platzieren von Formen in der Mitte.
- Rendern Sie die Ausgabe (print, canvas, SVG oder gestylter Block) am Ende.
Befehlsreferenz
- Refaktorisieren Sie jeweils eine Kleinigkeit und führen Sie die Datei dann erneut aus, bevor Sie etwas anderes anfassen.
- Wenn dieselbe Formatierung mehr als einmal vorkommt, verschieben Sie sie in eine Hilfsfunktion, anstatt sie an mehreren Stellen neu zu erstellen.
- Halten Sie `main()` auf Orchestrierung fokussiert: Werte vorbereiten, Hilfsfunktionen aufrufen und das Endergebnis ausgeben.
- Wenn sich die Ausgabe während eines Refactorings ändert, halten Sie an und vergleichen Sie die alte und neue Version, bevor Sie fortfahren.
Schritt-für-Schritt-Anleitung
- Führen Sie das Skript einmal aus und notieren Sie die exakt zwei Zeilen, die es ausgibt.
- Suchen Sie den Teil des Codes, der bei fünf weiteren Namen lästig zu wiederholen wäre.
- Benennen Sie die Hilfsfunktion und die Variablen um, sodass ihr Zweck auch ohne Kommentare offensichtlich ist.
- Fügen Sie einen dritten Beispielnamen mit zusätzlichen Leerzeichen hinzu und stellen Sie sicher, dass die Ausgabe weiterhin sauber und konsistent ist.
- Schreiben Sie einen Satz, der erklärt, was nach dem Refactoring gleich geblieben ist und was leichter lesbar wurde.
Übungsaufgaben
- Nehmen Sie ein kurzes Skript, das Sie zuvor geschrieben haben, und finden Sie eine wiederholte Zeichenkette oder ein wiederholtes Druckmuster, das Sie in eine Hilfsfunktion verschieben können.
- Erklären Sie, warum `DEFAULT_NAME` einfacher zu warten ist, als denselben Fallback-Wert an mehreren Stellen zu schreiben.
- Ändern Sie das Bannerformat einmal und bestätigen Sie, dass sich jedes gedruckte Ergebnis automatisch aktualisiert, da die Logik an einem Ort liegt.
Coding-Challenges
- Fügen Sie eine zweite Hilfsfunktion hinzu, die eine einfache Begrüßungszeile zurückgibt, und rufen Sie dann beide Hilfsfunktionen aus `main()` auf, ohne die Datei schwerer lesbar zu machen.
- Refaktorisieren Sie das Skript so, dass ein zukünftiger Teamkollege den Bannerstil an nur einer Stelle ändern könnte, ohne die `print`-Aufrufe zu ändern.
Kleine Übungsaufgaben
- Verwenden Sie die Umbenennungsfunktion Ihres Editors einmal, anstatt überall manuell umzubenennen.
- Führen Sie die Datei nach jeder kleinen Änderung aus, anstatt bis zum Ende zu warten.
- Schreiben Sie sich eine Notiz: Sauberer Code sollte leichter verständlich sein, nicht nur kürzer.
Häufiger Fehler
Mixing x and y axes or using wrong coordinate origin causes shapes to appear in unexpected places.
Mini-Challenge aus der Praxis
Draw one square, one triangle, and one circle, then move X marker 2 steps right and 1 step down.