Was macht Minimal-Code-Disziplin?
Nutzen Sie diese Skill, um eine Minimal-Code-Disziplin (YAGNI-Leiter) beim Planen und Schreiben von Code-Änderungen anzuwenden. Sie hält Diffs klein und offensichtlich korrekt, ohne die Prüfungen zu opfern, die Benutzer schützen.
Diese Skill ergänzt ai-slop-cleaner: Diese Skill entfernt Schlamassel, nachdem er gelandet ist; diese hier verhindert, dass er überhaupt geschrieben wird.
Wann verwenden
Verwenden Sie diese Skill, wenn:
- der Benutzer nach einer minimalen, schlanken, YAGNI-konformen oder kleinstmöglichen Diff-Implementierung fragt
- ein Plan oder eine laufende Änderung über die genannte Anfrage hinauswächst
- neuer Code geschrieben wird, bei dem Scope Creep, nachgebaute Hilfsfunktionen oder spekulative Allgemeingültigkeit wahrscheinlich sind
- ein vorgeschlagener Diff vor der Implementierung auf seine Größe geprüft werden soll
Wann nicht verwenden
Verwenden Sie diese Skill nicht, wenn:
- der Benutzer explizit nach einer breiten, funktionsreichen oder zukunftssicheren Implementierung fragt (sein expliziter Umfang hat Vorrang)
- es sich um exploratives Gerüst handelt, das der Benutzer als wegwerfbar markiert hat
- der Minimierungsdruck geschütztes Verhalten berühren würde (siehe Unverhandelbares)
Die Disziplin
Existenz zuerst. Fragen Sie, ob die Änderung überhaupt existieren muss; überspringen Sie Arbeit, die nur einem spekulativen zukünftigen Bedarf dient.
Wiederverwendung vor Neuschreiben. Durchsuchen Sie die Codebasis nach einer vorhandenen Hilfsfunktion, einem Typ oder einem Muster, bevor Sie etwas Neues schreiben. Kopieren Sie niemals eine Hilfsfunktion, die bereits ein paar Dateien entfernt lebt – verwenden Sie sie wieder oder extrahieren Sie sie an einen gemeinsamen Ort.
Abhängigkeitsleiter. Greifen Sie zuerst zur Standardbibliothek, dann zu plattformnativen Fähigkeiten, dann zu einer bereits installierten Abhängigkeit. Handgeschriebener Code ist das letzte Mittel. Führen Sie keine neue Abhängigkeit ein, wenn ein paar Zeilen Code ausreichen, es sei denn, der Benutzer hat dies explizit angefordert oder genehmigt.
Verstehen vor Minimieren. Lesen Sie den betroffenen Code und folgen Sie seinem Ausführungspfad zuerst. Liefern Sie den kürzesten korrekten Diff, sobald das Problem verstanden ist – Code, den Sie nie schreiben, geht nie kaputt.
Langweilig vor clever. Bevorzugen Sie langweiligen, offensichtlich korrekten Code gegenüber cleverem Code.
Die Obergrenze markieren. Halten Sie bewusste Vereinfachungen mit einem kurzen Kommentar fest, der die akzeptierte Grenze nennt und was ihre Ersetzung rechtfertigen würde.
Ursache, nicht Symptome. Beheben Sie Fehler an der Ursache, die von allen Aufrufern geteilt wird, nicht mit einem separaten Patch für jedes gemeldete Symptom.
Unverhandelbares
Minimieren Sie niemals weg:
- Validierung, wo immer eine Vertrauensgrenze überschritten wird
- Fehlerbehandlung, die vor Datenverlust schützt
- Sicherheitskontrollen
- Barrierefreiheitsgrundlagen
- den Umfang, den der Benutzer explizit angefordert hat
Überprüfung
Bestätigen Sie vor der Fertigstellungsmeldung:
- jede hinzugefügte Zeile verdient ihren Platz (keine spekulative Allgemeingültigkeit, keine doppelten Hilfsfunktionen)
- der Diff ist der kürzeste, der das genannte Problem korrekt löst
- Unverhandelbares ist intakt
- Tests bestehen noch und das Verhalten ist unverändert, außer wie angefordert