0%

Hoofdstuk 14

Hoe ga je verder?

Kies je volgende project

Je bent klaar. Hoofdstuk 13 was de laatste beoordeling en deze les voegt geen nieuw werk toe.

Sta even stil bij hoe ver je bent gekomen. Toen je begon, was Python iets dat in een browsertab gebeurde wanneer je op een knop drukte. Nu kun je een terminal openen, een project een eigen omgeving geven, bestanden lezen en schrijven, rommelige invoer omzetten in gevalideerde gegevens, er een echte commandoregelinterface omheen bouwen, debuggen als het misgaat, tests schrijven die een terugkerende fout ontdekken, met een dienst communiceren zonder die zomaar te vertrouwen en het geheel aan iemand anders geven in een vorm die die echt kan uitvoeren.

Dat laatste is een zeldzame vaardigheid. Veel mensen kunnen code op hun eigen computer laten werken. Veel minder mensen kunnen de keuzes zo overdragen dat die code ook bij iemand anders werkt.

Kies één ding, niet zes

Hieronder staan zes richtingen. Kies er één. Ze zijn allemaal optioneel en geen ervan wordt beoordeeld.

Je kiest er niet één uit bescheidenheid, maar omdat een half afgemaakt project je minder leert dan een klein afgerond project. Elke route hieronder noemt een doel, een eerste stap en een voorwaarde die aangeeft wanneer je klaar bent. Dat laatste is het belangrijkst: “beter worden in testen” heeft geen einde, terwijl “de bewust kapotte versie is rood en de juiste versie is groen” dat wel heeft.

Bouw gewoonten met Git op

  • Doel: houd een projectgeschiedenis bij die alleen bronbestanden bevat.

  • Eerste stap: leer wat je uitsluit, beoordeel daarna één samenhangende wijziging en commit die.

  • Klaar wanneer: de wijziging is gecommit en git status een schone werkboom meldt.

Dit is de route die ik zou kiezen. Je slotproject bestaat al uit tien schone bestanden, zonder gegenereerde toestand. Dat is precies wat je voor een eerste repository wilt.

Verdiep je in programmaontwerp

  • Doel: geef werkende code een duidelijkere structuur.

  • Eerste stap: doe de instapcheck van Python-basis II en ontdek welke taalvaardigheden die route verwacht.

  • Klaar wanneer: je de instapcheck kunt afronden en kunt aangeven welke vaardigheid je eerst zou opfrissen.

Python-basis II behandelt de taalonderwerpen die deze cursus bewust oversloeg: functies als waarden, klassen en de bijbehorende ontwerpbegrippen. Je had die hier niet nodig en zult ze op den duur wel willen leren.

Maak je tests sterker

  • Doel: schrijf een test die een realistisch defect daadwerkelijk afwijst.

  • Eerste stap: kopieer je project, maak bewust één ding stuk en controleer of je suite het opmerkt.

  • Klaar wanneer: de juiste versie groen is, de kapotte versie rood en die om de juiste reden rood is.

Hoofdstuk 10 deed dit voor je. Door het zelf te doen blijft het hangen. Houd elke bestandsbewerking onder tmp_path.

Breid de API-client uit

  • Doel: breid de client uit zonder van een live dienst afhankelijk te zijn.

  • Eerste stap: voeg nog één afgebakend antwoordgeval toe, met namaakantwoorden in tests.

  • Klaar wanneer: zowel het nieuwe gedrag als het bijbehorende foutgeval deterministisch is.

Weersta de neiging om een instelbare host, token of lus voor opnieuw proberen toe te voegen. Elk daarvan is een echt onderwerp dat meer verdient dan hier even te worden aangeplakt.

Maak de overdracht soepeler

  • Doel: maak opnieuw opbouwen voor iemand anders makkelijker.

  • Eerste stap: bouw het project vanuit een lege map opnieuw op met alleen je README en verbeter elke plek waar je aarzelde.

  • Klaar wanneer: schone gekopieerde bronbestanden de tests en het offlinecommando uitvoeren zonder je oorspronkelijke omgeving aan te raken.

Je zult ergens aarzelen. Dat doet iedereen. Die aarzeling is de foutmelding.

Maak het slotproject van jezelf

  • Doel: gebruik het hulpmiddel voor iets dat je zelf belangrijk vindt.

  • Eerste stap: kopieer het, verander één invoerdomein en één bruikbare uitvoer en behoud de grenzen voor foutafhandeling, tests en een schone bestandsstructuur.

  • Klaar wanneer: de tests en de offline-uitvoering van de kopie slagen met jouw gegevens.

Nog iets over wat je hebt gebouwd

De oefen-API was intern voor Python Land, dus het slotproject haalt niets meer op zodra het de site verlaat. Begrijp dat in plaats van er teleurgesteld over te zijn: alles wat je bij die grens leerde, de status controleren vóór decoderen, elke wachttijd begrenzen, antwoorden valideren en niet blind opnieuw proberen, heb je ook bij een echte dienst nodig. De dienst was nagebootst zodat de lessen deterministisch konden zijn. De gewoonten zijn echt.

Ga iets bouwen.