GitHub

Build-it-yourself-Methode

Von fremdem Code zum eigenen System.

Die Modulseiten sind keine Copy-and-paste-Anleitung. Sie zeigen eine wiederholbare Methode, mit der du eine Idee zerlegst, prüfst und in einer für dein System passenden Form neu baust.

Sechs Regeln

Vertrag zuerst

Definiere Eingaben, Ausgaben, Fehler und Invarianten, bevor du eine Klasse baust.

Kleinster korrekter Kern

Implementiere zuerst nur den glücklichen Pfad und genau eine explizite Fehlersemantik.

Zustand sichtbar machen

Halte Ownership und Übergänge nachvollziehbar. Versteckter Zustand ist die häufigste Systemfalle.

Grenzen erzwingen

Timeouts, Größenlimits, Abbruchsignale und idempotente Operationen gehören zum Vertrag.

Eigenschaften testen

Teste nicht nur Beispiele, sondern Invarianten wie Reihenfolge, Determinismus und Roundtrips.

Erst dann abstrahieren

Verallgemeinere erst, wenn zwei konkrete Implementierungen denselben Druck erzeugen.

Ablauf

Eine Implementierung in sieben Schritten

  1. Schreibe das Problem in einem Satz ohne den Namen der bestehenden Library.
  2. Liste Daten, Zustände und externe Effekte getrennt auf.
  3. Formuliere drei Invarianten, die nach jeder Operation gelten müssen.
  4. Baue einen synchronen, lokalen Kern ohne Optimierung.
  5. Teste Happy Path, Grenzfall und gezielten Fehler.
  6. Füge Async, Persistenz oder Netzwerk erst an klaren Ports hinzu.
  7. Miss, ob die zusätzliche Abstraktion den Betrieb wirklich verbessert.

Review-Checkliste

Bevor der Code „fertig“ ist

  • Ist klar, wem veränderlicher Zustand gehört?
  • Sind Fehler typisiert oder mindestens normalisiert?
  • Kann eine Operation sicher wiederholt oder abgebrochen werden?
  • Gibt es harte Limits für unkontrollierte Eingaben?
  • Sind Zeit, Zufall, I/O und Netzwerk im Test austauschbar?
  • Dokumentiert der Name das Konzept statt die aktuelle Implementierung?