Konzepterklärung
Diese Lektion führt eine Gewohnheit ein, die gute Entwickler frühzeitig entwickeln: kleine Codeabschnitte zu überprüfen, bevor sie zu größeren Problemen werden. Sie lernen noch keine vollständigen Test-Frameworks. Sie lernen, wie Sie Ihrem Code einfache Fragen stellen und bestätigen, dass die Antworten korrekt bleiben. In Python ist `assert` eine der einfachsten Möglichkeiten dazu. Es ermöglicht Ihnen, eine kurze Regel zu schreiben, wie zum Beispiel "dieser Wert sollte niemals negativ sein" oder "diese Funktion sollte für diese Eingabe 42 zurückgeben". Wenn die Regel fehlschlägt, stoppt Python und zeigt Ihnen genau, wo Ihre Annahme falsch war. Das ist wichtig, weil Anfänger sich oft auf "es sieht richtig aus" verlassen, anstatt das Verhalten zu überprüfen. Testen ändert das. Es bietet Ihnen eine schnelle Möglichkeit, Fehler zu finden, solange der Code noch klein und leicht zu beheben ist. Am Ende dieser Lektion sollten Sie in der Lage sein: • einige grundlegende Assertions für eine kleine Hilfsfunktion zu schreiben, • zu verstehen, was ein `AssertionError` Ihnen sagt, • schnelle Überprüfungen zu verwenden, um zu bestätigen, dass Ihr Code nach einer kleinen Änderung noch funktioniert. Warum das wichtig ist: Sobald Sie Code häufiger ändern, wird Vertrauen wichtig. Kleine Tests geben Ihnen dieses Vertrauen, ohne dass sich die Lektion schwer oder kompliziert anfühlt.
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 (print, canvas, SVG oder gestylter Block) am Ende.
Befehlsreferenz
- Verwenden Sie `assert` für kleine Lernüberprüfungen, wenn Sie bestätigen möchten, dass eine Funktion den erwarteten Wert zurückgibt.
- Halten Sie jede Assertion auf ein Verhalten fokussiert, damit leicht zu verstehen ist, was fehlgeschlagen ist.
- Führen Sie Ihre Überprüfungen nach jeder kleinen Bearbeitung aus, anstatt zu warten, bis die Lektion beendet ist.
- Betrachten Sie fehlschlagende Assertions als nützliches Feedback, nicht als Zeichen dafür, dass Sie schlecht im Programmieren sind.
Schritt-für-Schritt-Anleitung
- Führen Sie die Datei einmal aus und bestätigen Sie, dass `All score checks passed.` im Terminal erscheint.
- Ändern Sie absichtlich einen erwarteten Wert, sodass eine Assertion fehlschlägt, lesen Sie dann den Fehler und beheben Sie ihn.
- Fügen Sie eine neue Assertion für `normalize_score(0)` hinzu und führen Sie die Datei erneut aus.
- Fügen Sie eine weitere Assertion für `normalize_score(100)` hinzu, um beide Enden des gültigen Bereichs zu testen.
- Schreiben Sie einen kurzen Satz, der erklärt, warum schnelle Überprüfungen hilfreich sind, bevor ein Skript größer wird.
Übungsaufgaben
- Erstellen Sie eine zweite Hilfsfunktion, die einen Temperaturwert in einen sicheren Bereich klemmt, und schreiben Sie dann zwei oder drei Assertions dafür.
- Ändern Sie die Funktion so, dass sie für einen Fall den falschen Wert zurückgibt, und bestätigen Sie, dass Ihre Assertions den Fehler abfangen.
- Beschreiben Sie in eigenen Worten den Unterschied zwischen "der Code läuft" und "der Code ist für die von mir getesteten Fälle korrekt".
Coding-Challenges
- Schreiben Sie eine Version der Funktion, die `ValueError` für unmögliche Eingaben auslöst, anstatt sie stillschweigend zu korrigieren, und entscheiden Sie dann, welcher Stil für diese Lektion klarer erscheint.
- Erstellen Sie eine kleine Testfunktion für eine String-Hilfsfunktion, wie z.B. das Entfernen von Leerzeichen oder das Großschreiben eines Namens, und stellen Sie sicher, dass jede Assertion leicht lesbar ist.
Kleine Übungsaufgaben
- Führen Sie die Datei nach kleinen Änderungen dreimal aus, damit sich das Testen normal anfühlt.
- Behalten Sie absichtlich eine fehlgeschlagene Assertion für eine Minute bei, lesen Sie sie sorgfältig und beheben Sie sie dann.
- Schreiben Sie sich eine Notiz: `Small tests help me trust my code.`
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.