Grundlagen des Code-Promptings
Wichtige Prinzipien für Code-Prompting
Präzise Anforderungen
Definiere exakte Funktionalität
Gib Eingabe- und Ausgabeformate an
Beschreibe Edge Cases
Kontext liefern
Programmiersprachen-Version
Framework und Dependencies
Bestehende Codebase-Konventionen
Sicherheitsaspekte
Fordere sichere Implementierungen
Frage nach Best Practices
Bitte um Kommentare zu Sicherheitsaspekten
Code-Qualität
Verlange Clean Code
Bitte um Kommentare/Dokumentation
Spezifiziere Performance-Anforderungen
📎 Basis-Prompt-Template
Sprache: [Programmiersprache]
Framework: [Falls zutreffend]
Aufgabe: [Konkrete Beschreibung]
Anforderungen:
- [Requirement 1]
- [Requirement 2]
Erwartetes Verhalten/Codequalität: [Beschreibung]
Beispiel für einen qualitativ hochwertigen Prompt
Erstelle eine Funktion mit folgenden Eigenschaften:
Funktion: User-Authentication
Sprache: Node.js 18+
Framework: Express.js
Security:
- Password Hashing (bcrypt)
- JWT Token
- XSS Protection
Anforderungen:
- Input Validation
- Error Handling
- Rate Limiting
- Logging
Codequalität:
- TypeScript Types
- JSDoc Kommentare
- Unit Tests
Best Practices nach Programmiersprache
Python
Prompt:
"Erstelle eine Python-Funktion, die:
Eine Liste von Zahlen als Input nimmt
Die Summe aller geraden Zahlen berechnet
Das Ergebnis zurückgibt
Type Hints verwendet"
KI-generierter Code:
def sum_even_numbers(numbers: list[int]) -> int:
return sum(num for num in numbers if num % 2 == 0)
JavaScript
Prompt:
"Schreibe eine async JavaScript-Funktion, die:
Daten von einer API fetcht
Error Handling implementiert
Die Daten cached"
KI-generierter Code:
async function fetchDataWithCache(url) {
try {
const cache = await caches.open('data-cache');
const cached = await cache.match(url);
if (cached) return cached.json();
const response = await fetch(url);
cache.put(url, response.clone());
return response.json();
} catch (error) {
console.error('Fetch error:', error);
throw error;
}
}
Häufige Fehler vermeiden
❌ Nicht empfohlen:
Unspezifische Anfragen
Fehlender Kontext
Ignorieren von Edge Cases
✅ Stattdessen:
Klare Anforderungen
Vollständiger Kontext
Berücksichtigung von Randfällen
Debugging-Techniken
1. Fehleranalyse-Prompt
"Code: [Fehlerhafter Code]
Fehlermeldung: [Error Message]
Erwartetes Verhalten: [Beschreibung]
Deine Aufgabe:
Analysiere den Fehler.
Schlage dann 3 mögliche Lösungen vor, geordnet nach: Schnelle Implementierung, Best Practice, Langfristige Skalierbarkeit
Überprüfe diese Lösung auf: Potentielle neue Bugs, Edge Cases, Performance-Implikationen
2. Schrittweise Debugging-Prompt
"Gehe den folgenden Code Zeile für Zeile durch
und erkläre, was passiert. Markiere potenzielle Probleme."
[Screenshot: Beispiel eines Debugging-Prozesses in Vertex AI Studio]
Praktische Anwendungsfälle
1. API-Endpunkt erstellen
"Erstelle einen Express.js API-Endpunkt für:
- User-Registration
- Input-Validierung
- Password-Hashing
- Error-Handling"
2. Datenbank-Queries optimieren
"Optimiere diese SQL-Query für bessere Performance:
SELECT * FROM users WHERE created_at > '2023-01-01'"
3. Unit Tests generieren
"Erstelle Unit Tests für diese Funktion:
[Funktion einfügen]
Verwende Jest und teste Edge Cases."
4. Code-Übersetzung
"Übersetze diesen Python-Code nach JavaScript.
Behalte die Funktionalität bei und nutze moderne JS-Features.
def calculate_average(numbers):
return sum(numbers) / len(numbers)"
Wichtiger Hinweis: Überprüfe generierten Code immer auf Sicherheit und Funktionalität, bevor du ihn in Produktion verwendest.
