- Startseite
- Skills
- Prompting
- Code-Generierung-Prompt
Code-Generierung-Prompt
Optimieren Sie Prompts gezielt fuer Code-Generierung mit Typsicherheit, Fehlerbehandlung und Produktionsreife.
Das Problem
Generische Prompts produzieren generischen Code — keine Fehlerbehandlung, keine Typen, keine Grenzfaelle, keine Tests. Die KI schreibt Code, der fuer den Happy Path funktioniert, aber in Produktion bricht. Sie brauchen Prompts, die nicht nur spezifizieren was der Code tun soll, sondern wie er Fehler behandeln, welche Typen er verwenden und welchen Mustern er folgen soll.
Der Prompt
Schreibe produktionsreifen [SPRACHE]-Code fuer: [AUFGABENBESCHREIBUNG]
TECHNISCHE ANFORDERUNGEN:
- Sprache/Runtime: [Sprache und Version]
- Framework: [Framework und Version falls zutreffend]
- Typsystem: [striktes TypeScript / Python Type Hints / etc.]
- Style Guide: [ESLint-Konfiguration / PEP 8 / Projektkonventionen]
CODE-ANFORDERUNGEN:
- Umfassende Fehlerbehandlung einschliessen (try/catch, Validierung, Grenzfaelle)
- JSDoc/Docstring-Kommentare fuer oeffentliche Funktionen
- Beschreibende Variablennamen (keine Einzelbuchstaben ausser Schleifenindizes)
- Null/Undefined/Leere Eingaben robust behandeln
- Folge [MUSTER: funktional / OOP / reaktiv]
AUSGABEFORMAT:
- Nur Code, keine Erklaerungen davor oder danach
- Imports am Anfang
- Inline-Kommentare nur fuer nicht-offensichtliche Logik
- Falls Tests benoetigt: [jest / pytest / vitest] Testdatei separat
KONTEXT:
[relevanter bestehender Code, Typen oder API-Signaturen, mit denen dieser Code integrieren muss]
Beispielausgabe
import { z } from "zod";
/** Schema zur Validierung der Nutzerregistrierungseingabe */
const RegistrationSchema = z.object({
email: z.string().email("Ungueltiges E-Mail-Format"),
password: z.string().min(8, "Passwort muss mindestens 8 Zeichen haben"),
name: z.string().min(1, "Name ist erforderlich").max(100),
});
type RegistrationInput = z.infer<typeof RegistrationSchema>;
/** Registriert einen neuen Nutzer mit Validierung und Duplikatpruefung */
export async function registerUser(
input: unknown,
db: Database
): Promise<{ success: true; userId: string } | { success: false; error: string }> {
const parsed = RegistrationSchema.safeParse(input);
if (!parsed.success) {
return { success: false, error: parsed.error.issues[0].message };
}
const existing = await db.users.findByEmail(parsed.data.email);
if (existing) {
return { success: false, error: "E-Mail bereits registriert" };
}
const hashedPassword = await hashPassword(parsed.data.password);
const user = await db.users.create({
...parsed.data,
password: hashedPassword,
});
return { success: true, userId: user.id };
}
Wann verwenden
Verwenden Sie diesen Skill fuer jede Code-Generierungsaufgabe, die in Produktion laufen wird — API-Endpunkte, Datentransformationen, Hilfsfunktionen oder Komponentenimplementierungen. Es ist der Unterschied zwischen einer Code-Skizze und einer deploy-faehigen Implementierung.
Profi-Tipps
- Bestehende Typdefinitionen bereitstellen — das Einfuegen Ihrer Interfaces gibt dem Modell exakte Vertraege statt eigene zu erfinden.
- Fehlerbehandlungsmuster spezifizieren — “Result-Typ zurueckgeben” vs “Exceptions werfen” vs “null zurueckgeben” erzeugt grundlegend verschiedenen Code.
- Testdatei separat anfordern — Code und Tests im selben Prompt zu generieren spaltet die Aufmerksamkeit des Modells; verketten Sie stattdessen.
- Linting-Regeln einbeziehen — “kein any, kein console.log, const bevorzugen” verhindert die haeufigsten Code-Review-Ablehnungen.