Konzepterklärung
Debugging in Go beginnt oft mit kleinen, expliziten Prüfungen anstelle von versteckter Magie. In dieser Lektion arbeiten Sie mit dem gängigen Go-Muster, einen Fehler zurückzugeben, ihn sofort zu prüfen und ihn mit besserem Kontext zu versehen. Ziel ist es, die Gewohnheit zu entwickeln, Fehler sorgfältig zu lesen, die Fehlermeldung zu verbessern und den Kontrollfluss für die nächste Person, die den Code liest, offensichtlich zu halten.
Wo der Code hingehört
- Definieren Sie Farb- und Positionsvariablen oben.
- Erstellen Sie die Logik zum Zeichnen oder Platzieren von Formen in der Mitte.
- Rendern Sie die Ausgabe (Druck, Canvas, SVG oder gestylter Block) am Ende.
Befehlsreferenz
- Prüfen Sie Fehler direkt nach der Operation, die fehlschlagen kann, damit die Problemursache offensichtlich bleibt.
- Verwenden Sie `fmt.Printf` mit `%q` oder `%v`, wenn Sie eine klarere Debugging-Ausgabe im Terminal wünschen.
- Verbessern Sie eine Fehlermeldung, indem Sie Kontext zur Eingabe oder zum fehlgeschlagenen Schritt hinzufügen.
- Führen Sie das Programm sowohl mit fehlerhafter als auch mit gültiger Eingabe erneut aus, um das Verhalten direkt vergleichen zu können.
Schritt-für-Schritt-Anleitung
- Führen Sie das Startprogramm mit der fehlerhaften Eingabe aus und lesen Sie die Fehlermeldung sorgfältig.
- Ersetzen Sie den fehlerhaften Wert durch eine gültige numerische Zeichenfolge und bestätigen Sie, dass der Erfolgsfall funktioniert.
- Stellen Sie die ungültige Eingabe wieder her, aber schreiben Sie die Meldung so um, dass sie dem Leser einen besseren Kontext bietet.
- Erklären Sie, warum das Programm sofort nach der Fehlerbehandlung zurückkehrt.
- Schließen Sie ab, indem Sie eine Sache auflisten, die den Debugging-Prozess erleichtert hat.
Übungsaufgaben
- Ändern Sie das Beispiel, um zwei verschiedene ungültige Werte zu testen und die Meldungen zu vergleichen.
- Erstellen Sie eine Version, die eine String-Variable namens `ageText` liest und in eine Ganzzahl umwandelt.
- Schreiben Sie die Ausgabe so um, dass Erfolgs- und Fehlermeldungen visuell unterschiedlich und leicht zu überblicken sind.
Coding-Challenges
- Umschließen Sie die Konvertierung in eine Hilfsfunktion, die `(int, error)` zurückgibt, und halten Sie die Fehlermeldung klar.
- Entwerfen Sie ein kleines Debugging-Beispiel, bei dem der Fehler von einer leeren Eingabe statt von ungültigen Zeichen herrührt.
Kleine Übungsaufgaben
- Testen Sie eine gültige und eine ungültige Eingabe.
- Verbessern Sie die Formulierung der Fehlermeldung.
- Schreiben Sie eine einzeilige Zusammenfassung, warum Go `err` explizit prüft.
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.