Kapitel 14
Wie es weitergeht
Wähle dein nächstes Projekt
Du bist fertig. Kapitel 13 war die letzte bewertete Aufgabe; diese Lektion bringt keine neue Arbeit hinzu.
Halte kurz inne und sieh dir an, wie weit du gekommen bist. Am Anfang war Python etwas, das in einem Browser-Tab passierte, wenn du einen Knopf gedrückt hast. Jetzt kannst du ein Terminal öffnen, einem Projekt eine eigene Umgebung geben, Dateien lesen und schreiben, unordentliche Eingaben in validierte Daten verwandeln, eine echte Kommandozeilenschnittstelle bauen, bei Problemen Fehler suchen, Tests schreiben, die wiederkehrende Fehler erkennen, mit einem Dienst kommunizieren, ohne ihm blind zu vertrauen, und das Ganze jemandem in einer tatsächlich ausführbaren Form übergeben.
Das Letzte ist die seltene Fähigkeit. Viele bringen Code auf ihrem eigenen Rechner zum Laufen. Weit weniger können die Entscheidungen so zusammenstellen, dass er auch auf einem anderen Rechner funktioniert.
Wähle eine Sache, nicht sechs
Unten findest du sechs Richtungen. Wähle eine. Alle sind optional, und keine wird bewertet.
Es geht dabei nicht um Bescheidenheit: Ein halb fertiges Projekt lehrt weniger als ein kleines abgeschlossenes. Jeder Weg unten nennt ein Ziel, einen ersten Schritt und eine Bedingung, an der du erkennst, dass du fertig bist. Das Letzte ist am wichtigsten: „Besser im Testen werden“ hat kein Ende, „Die veränderte Variante ist rot und die korrekte grün“ schon.
Entwickle Gewohnheiten im Umgang mit Git
Ziel: eine Projekthistorie führen, die Quellcode enthält und sonst nichts.
Erster Schritt: lernen, was ausgeschlossen gehört, dann eine zusammenhängende Änderung prüfen und committen.
Fertig, wenn: die Änderung committed ist und
git statuseinen sauberen Arbeitsbaum meldet.
Das wäre meine Wahl. Dein Abschlussprojekt besteht bereits aus zehn sauberen Dateien, aus denen erzeugter Zustand herausgehalten wird. Genau so sollte die Ausgangslage für ein erstes Repository aussehen.
Vertiefe den Programmentwurf
Ziel: funktionierenden Code klarer strukturieren.
Erster Schritt: den Einstufungstest für Fundamentals II machen und herausfinden, welche Sprachkenntnisse dieser Weg voraussetzt.
Fertig, wenn: du den Einstufungstest abschließen und sagen kannst, welche Fähigkeit du zuerst auffrischen würdest.
Fundamentals II behandelt die Sprachthemen, die dieser Kurs bewusst ausgelassen hat: Funktionen als Werte, Klassen und die dazugehörigen Begriffe des Programmentwurfs. Hier hast du sie nie gebraucht; irgendwann wirst du sie kennenlernen wollen.
Stärke deine Tests
Ziel: einen Test schreiben, der einen realistischen Fehler tatsächlich zurückweist.
Erster Schritt: dein Projekt kopieren, absichtlich eine Sache beschädigen und prüfen, ob deine Suite es bemerkt.
Fertig, wenn: die korrekte Variante grün ist, die kaputte rot und sie aus dem richtigen Grund rot ist.
In Kapitel 10 wurde das mit deinem Code gemacht. Es selbst zu tun ist die Variante, die hängen bleibt. Halte alle Dateiauswirkungen unter tmp_path.
Entwickle den API-Client weiter
Ziel: den Client erweitern, ohne von einem laufenden Dienst abhängig zu sein.
Erster Schritt: einen weiteren klar begrenzten Antwortfall ergänzen und dafür Fake-Antworten in Tests verwenden.
Fertig, wenn: sowohl das neue Verhalten als auch sein Fehlerfall deterministisch sind.
Widerstehe der Versuchung, einen konfigurierbaren Host, ein Token oder eine Wiederholungsschleife anzubauen. Jedes davon ist ein eigenes Thema und verdient mehr, als hier nebenbei angehängt zu werden.
Erleichtere die Übergabe
Ziel: den Neuaufbau für jemand anderen einfacher machen.
Erster Schritt: aus einem leeren Ordner ausschließlich nach deiner README neu aufbauen und jede Stelle verbessern, an der du gezögert hast.
Fertig, wenn: sauber kopierter Quellcode seine Tests und seinen Offline-Befehl ausführt, ohne deine ursprüngliche Umgebung zu berühren.
Du wirst irgendwo zögern. Das geht allen so. Das Zögern ist der Fehlerbericht.
Mache das Abschlussprojekt zu deinem eigenen
Ziel: das Werkzeug auf etwas ausrichten, das dich wirklich interessiert.
Erster Schritt: es kopieren, einen Eingabebereich und eine nützliche Ausgabe ändern und dabei die Grenzen für Fehler, Tests und eine saubere Dateistruktur beibehalten.
Fertig, wenn: die Kopie ihre Tests und ihren Offline-Lauf mit deinen Daten besteht.
Ein Hinweis zu deinem Ergebnis
Die Übungs-API war intern für Python Land, deshalb wird das Abschlussprojekt nach dem Verlassen der Website nichts abrufen. Verstehe diese Grenze, statt dich davon enttäuschen zu lassen: Alles, was du dort gelernt hast, nämlich den Status vor dem Dekodieren zu prüfen, jede Wartezeit zu begrenzen, Antworten zu validieren und blinde Wiederholungen abzulehnen, brauchst du genauso für einen echten Dienst. Der Dienst war eine Übung, damit die Lektionen deterministisch sein konnten. Die Gewohnheiten sind echt.
Geh und baue etwas.