Verständlicher Code für Vibecoder: Namen, DRY, KISS
Was der Mensch versteht, versteht auch der Agent. Ganz einfach
Wie du beim KI-Agenten verständlichen Code bestellst: sprechende Namen, die Prinzipien DRY und KISS, keine magischen Zahlen. Leichter zu lesen, billiger zu ändern, geht seltener kaputt.
Was verständlicher Code ist, einfach erklärt
Stell dir zwei Kühlschränke vor. Im ersten ist alles beschriftet: „Soßen“, „Frühstück“, „nicht anfassen - das ist für die Feier“. Aufgemacht - und in drei Sekunden hast du gefunden, was du gesucht hast. Im zweiten stehen zwanzig identische Behälter, keiner beschriftet. Um den Joghurt zu finden, machst du jeden auf und schnupperst. Manchmal findest du etwas, an dem du wirklich besser nicht geschnuppert hättest.
Mit Code ist es genauso. Verständlicher Code ist der Kühlschrank mit Beschriftungen. Unverständlicher sind genau diese zwanzig Behälter: „Suppe Nummer eins“, „Suppe Nummer zwei“, x, y, flag. Und das Ärgerliche dabei: unverständlicher Code quält dich und deinen KI-Agenten gleichermaßen.
Warum ein Vibecoder verständlichen Code braucht
Du bist Vibecoder. Du schreibst Code nicht von Hand - du bestellst ihn beim Agenten. Und genau deshalb ist Verständlichkeit doppelt wichtig:
- willst du etwas ändern - findest du (oder der Agent) die richtige Stelle in Sekunden, nicht in einer halben Stunde;
- der Agent verbraucht weniger Tokens und macht seltener Fehler, wenn er verständlichen Code liest - er muss nicht raten, was für ein Wesen dieses
qist; - weniger Bugs: die Hälfte aller Pannen entsteht aus „ups, ich dachte, diese Variable wäre für etwas anderes“;
- das Projekt wird nicht zum Sumpf nach einem Monat, wenn du selbst vergessen hast, was du überhaupt geschrieben hast.
Verständlicher Code ist ein Geschenk an dein zukünftiges Ich. Und das zukünftige Du wird garantiert vergessen, was
tmp2ist und wozu hier die Zahl86400steht. (Spoiler: das sind die Sekunden eines Tages. Aber das findest du erst nach einer Stunde Googeln raus.)
Vier Regeln für sauberen Code, an die sich Claude hält
Gute Agenten halten sich standardmäßig an die Basisregeln für sauberen Code. Es lohnt sich, sie zu kennen - damit du genau das anfragen und sofort merken kannst, wenn der Agent geschludert hat.
1. Sprechende Namen für Variablen und Funktionen
Der Name einer Variable oder Funktion sollte erklären, was drin ist. Ohne einen einzigen Kommentar.
- `totalRevenue` - sofort klar: der Gesamtumsatz.
- `isUserAuthenticated` - ja oder nein, ist der Nutzer eingeloggt.
- `fetchMarketData` - „geh und hol die Daten“: Verb plus worum es geht.
- `x`, `q`, `flag` - und was ist das? Keiner weiß es, nicht mal der Autor eine Woche später.
- `data2`, `tmp`, `stuff` - Müll-Namen, die schweigen wie ein Grab.
- Die Funktion `market()` - heißt das „Markt holen“, „erstellen“ oder „löschen“? Münzwurf.
2. DRY - wiederhol nicht denselben Code
DRY DRY (Don't Repeat Yourself - „wiederhol dich nicht“) - Prinzip: dasselbe Stück Logik lebt an einer Stelle. Brauchst du es an drei Stellen - lager es in eine gemeinsame Funktion aus und ruf sie auf. handelt von Copy-Paste. Dasselbe Stück dreimal kopiert? Glückwunsch: du hast dir drei Stellen geschaffen, die du jetzt synchron ändern musst. Eine vergessen - schon hast du einen Bug. Und der schlägt natürlich im denkbar ungünstigsten Moment zu.
Die Lösung ist erstaunlich einfach. Das gemeinsame Stück lagern wir in eine Funktion aus und rufen sie von überall auf. An einer Stelle geändert - überall geändert.
3. KISS - mach es einfach, verkompliziere nicht
KISS KISS (Keep It Simple, Stupid - „mach es einfach, mein Freund“) - Prinzip: nimm die einfachste Lösung, die funktioniert. Verkompliziere nicht für eine Zukunft, die vielleicht nie eintritt. handelt von der Versuchung, „es krass und auf Vorrat zu bauen“. Lass das. Die einfachste Lösung, die funktioniert, schlägt fast immer die „clevere“. Verständlicher Code, der läuft, gewinnt immer gegen schlauen Code, den man wie ein Rätsel entziffern muss.
Daneben wohnt der geistesverwandte YAGNI YAGNI (You Aren't Gonna Need It - „du wirst es nicht brauchen“) - schreib keinen Code für eine hypothetische Zukunft. Brauchst du es, fügst du es dann hinzu. : bitte den Agenten nicht, Funktionen zu bauen, die „vielleicht mal nützlich werden“. Werden sie nützlich, fügst du sie hinzu, das sind fünf Minuten. Aber überflüssigen Code die ganze Zeit mitzuschleppen - das ist teuer und mühsam.
4. Magische Zahlen: weg damit, hin zu benannten Konstanten
Magische Zahl Magische Zahl - eine Zahl direkt im Code ohne Erklärung, zum Beispiel 3 oder 86400. Unklar, was sie bedeutet und ob man sie ändern darf. Lösung: gib der Zahl einen Namen als Konstante. - das ist eine nackte Zahl mitten im Code. Du siehst retryCount > 3 - aber warum gerade 3? Und was knallt, wenn man 5 einträgt? Gib der Zahl einen Namen: MAX_RETRIES = 3. Schon ist der Sinn da, und ändern musst du jetzt nur in einer Zeile.
Beispiel aus dem Leben: der Warenkorb eines Onlineshops
Du hast den Agenten gebeten: „bau einen Warenkorb für einen Onlineshop“. Eine Woche später bittest du: „füg 10% Rabatt für Bestellungen ab 5000 Euro hinzu“. Und jetzt geht der Schmerz los:
- Der Agent hat die Summenberechnung an drei Stellen geschrieben - auf der Produktseite, im Warenkorb und beim Bezahlen. Reines Copy-Paste. Den Rabatt musst du dreimal einbauen, und an einer Stelle vergisst er ihn natürlich.
- Im Code steckt die nackte Zahl
5000ohne Namen. Der Agent ist unsicher: ist das die Rabattgrenze, das Versandlimit oder etwas anderes? - Die Variablen heißen
a,sum2,tmp. Der Agent verbrennt Tokens, um zu verstehen, was wo ist, und kommt trotzdem durcheinander.
Und jetzt schau, wie man gleich menschlich anfragt - damit dieser ganze Schmerz erst gar nicht passiert:
Bau einen Warenkorb für einen Onlineshop. Schreib verständlichen Code nach einfachen Regeln:
-
Gib Variablen und Funktionen sprechende Namen. Nicht x und tmp, sondern cartTotal, applyDiscount, isEligibleForDiscount. Funktionen - Verb plus worum es geht.
-
Dupliziere keine Logik. Die Berechnung der Endsumme soll in einer Funktion leben, die von überall aufgerufen wird, statt über die Seiten kopiert zu werden.
-
Verbau keine nackten Zahlen im Code. Rabattgrenze und Prozentsatz lager in benannte Konstanten oben aus, zum Beispiel DISCOUNT_THRESHOLD und DISCOUNT_PERCENT, damit man sie leicht an einer Stelle ändern kann.
-
Mach es maximal einfach. Keine Vorrats-Bausteine für die Zukunft, die ich nicht angefragt habe.
Erklär nach dem Code in zwei Sätzen, welche Konstante wo ist und wo die Summenberechnung lebt.
Häufige Fehler von Vibecodern beim Code
- Namen wie
x,tmp,data2akzeptieren. Siehst du sowas im Code des Agenten - bitte ihn, menschlich umzubenennen. Das kostet nichts und spart Stunden. - Copy-Paste dulden. Dasselbe Stück an drei Stellen - bitte darum, es in eine gemeinsame Funktion auszulagern. Sonst driften die Änderungen auseinander, und irgendwas fällt garantiert ab.
- Nackte Zahlen stehen lassen. Jede „magische“ Zahl bitte in eine benannte Konstante mit verständlichem Namen verwandeln lassen.
- „Auf Vorrat bauen“ erlauben. Überflüssige Funktionen, die „vielleicht mal nützlich werden“, sind überflüssiger Code, den man lesen und weiterschleppen muss. Bitte um das Einfachste, das die Aufgabe löst.
- Denken, Verständlichkeit sei was für Programmierer. Genau andersrum: je verständlicher der Code, desto seltener musst du als Vibecoder in die Technik abtauchen, wenn du etwas anpassen willst.
TL;DR - если коротко
- Namen entscheiden alles. `totalRevenue` ist klar - für dich und den Agenten. `x` ist ein Rätsel und der Rohling für den nächsten Bug.
- DRY - kopier nicht dasselbe Stück. Ein Stück = eine Stelle, an der du es änderst.
- KISS - die einfachste Lösung, die funktioniert. Ohne „clevere“ Spielereien auf Vorrat.
- Magische Zahlen versteck hinter Namen: nicht `3`, sondern `MAX_RETRIES`. Sonst ist diese Zahl in einem Monat selbst für dich ein Rätsel.
- YAGNI - bau nicht das, was „vielleicht mal nützlich wird“. Wird es nützlich, fragst du dann danach.
- Verständlicher Code ist Sparen: leichter zu lesen, billiger vom Agenten zu ändern, geringere Chance, etwas kaputtzumachen.