Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
3.3. Code & Entwicklung
Überblick
KI-Systeme wie ChatGPT, GitHub Copilot, Amazon CodeWhisperer oder Cursor können Entwickler:innen bei zahlreichen Aufgaben unterstützen – von der Codeerstellung über das Debugging bis zur Dokumentation. Richtig eingesetztes Prompting spart Zeit, hilft beim Lernen neuer Technologien und beschleunigt Entwicklungsprozesse.
Typische Einsatzbereiche:
- Code generieren (Funktionen, Klassen, Module)
- Fehleranalyse und -behebung
- Refactoring und Performance-Tuning
- Dokumentation erzeugen
- Tests erstellen
- Konzepte erklären lassen
- Code zwischen Sprachen „übersetzen“
Aufbau eines effektiven Entwickler-Prompts
Ein guter Entwickler-Prompt sollte enthalten:
- Sprache / Technologie: z. B. Python, JavaScript, SQL, HTML, Docker etc.
- Ziel: Was soll der Code tun?
- Kontext: Gibt es Eingabedaten, Einschränkungen, bestehende Strukturen?
- Format: Kommentar, vollständiger Codeblock, Teilfunktion, Test etc.
- Nutzungszweck: Lernen, Prototyp, Produktivcode, Review etc.
- Stil-Vorgaben (optional): funktional, OOP, dokumentiert, minimalistisch
→ Je genauer du das Ziel und den Kontext beschreibst, desto zuverlässiger die Antwort.
🔧 Beispiele für Code-Prompts
🛠️ Code erstellen
Prompt 1 – Python-Funktion schreiben > Schreibe eine Python-Funktion, die eine Liste von Zahlen entgegennimmt und die durchschnittliche Abweichung vom Mittelwert zurückgibt. Achte auf gute Lesbarkeit und füge einen Beispielaufruf hinzu.
def durchschnittliche_abweichung(zahlen): if not zahlen: return 0 mittelwert = sum(zahlen) / len(zahlen) abweichungen = [abs(x - mittelwert) for x in zahlen] return sum(abweichungen) / len(zahlen) # Beispielaufruf werte = [10, 15, 20, 25] print(durchschnittliche_abweichung(werte)) # Ausgabe: 5.0
—
Prompt 2 – SQL-Query generieren > Du hast eine Datenbank mit einer Tabelle „users“ (Felder: id, name, email, created_at). Schreibe eine SQL-Abfrage, die alle Nutzer:innen zeigt, die sich im letzten Monat registriert haben.
SELECT id, name, email, created_at FROM users WHERE created_at >= DATE_SUB(CURDATE(), INTERVAL 1 MONTH);
—
Prompt 3 – HTML-Formular > Erstelle ein HTML-Formular zur Anmeldung für einen Newsletter. Es soll Felder für E-Mail, Vorname, Datenschutz-Häkchen und einen „Anmelden“-Button enthalten.
<form action="/newsletter-anmeldung" method="post"> <label for="vorname">Vorname:</label><br> <input type="text" id="vorname" name="vorname" required><br><br> <label for="email">E-Mail:</label><br> <input type="email" id="email" name="email" required><br><br> <input type="checkbox" id="datenschutz" name="datenschutz" required> <label for="datenschutz">Ich stimme der Datenschutzerklärung zu</label><br><br> <button type="submit">Anmelden</button> </form>
—
🐛 Fehleranalyse & Debugging
Prompt 1 – Python-Fehler erklären > `TypeError: unsupported operand type(s) for +: 'int' and 'str'`
# Fehlerhafter Code liste = [1, 2, '3'] summe = sum(liste) # Fehler! # Erklärung: # sum() versucht, '3' (ein String) mit den Zahlen zu addieren. # Lösung: Stelle sicher, dass alle Elemente numerisch sind. # Korrigiert: liste = [1, 2, int('3')] summe = sum(liste) # Ergebnis: 6
—
Prompt 2 – Code-Review anfordern *(nur als Platzhalter: hier kann realer User-Code eingefügt werden)*
// Verbesserungsvorschlag: function sumArray(arr) { if (!Array.isArray(arr)) return 0; return arr.reduce((acc, val) => acc + val, 0); }
—
🔄 Refactoring & Optimierung
Prompt 1 – Lesbarkeit verbessern
Vorher:
def a(x): for i in x: if i>5:print(i)
Nachher (refactored):
def print_greater_than_five(numbers): for number in numbers: if number > 5: print(number)
—
Prompt 2 – List Comprehension
Vorher:
squares = [] for i in range(10): squares.append(i * i)
Nachher:
squares = [i * i for i in range(10)]
—
📋 Dokumentation erzeugen
Prompt 1 – Python-Docstring generieren
def berechne_steuer(netto, steuersatz): """ Berechnet die Steuer und den Bruttobetrag auf Basis des Nettobetrags. Args: netto (float): Der Nettobetrag. steuersatz (float): Der Steuersatz in Prozent (z. B. 19 für 19%). Returns: tuple: Enthält den Steuerbetrag und den Bruttobetrag. """ steuer = netto * (steuersatz / 100) brutto = netto + steuer return steuer, brutto
—
✅ Tests erzeugen
Prompt 1 – Unit-Test
import unittest from mymodule import calculate_discount class TestDiscount(unittest.TestCase): def test_normal_case(self): self.assertEqual(calculate_discount(100, 20), 80) def test_zero_percent(self): self.assertEqual(calculate_discount(100, 0), 100) def test_full_discount(self): self.assertEqual(calculate_discount(100, 100), 0) if __name__ == '__main__': unittest.main()
—
📘 Lernen & Erklären
Prompt 2 – Vergleich „map“ vs. „forEach“ in JavaScript
// map: Gibt ein neues Array zurück const zahlen = [1, 2, 3]; const verdoppelt = zahlen.map(n => n * 2); // [2, 4, 6] // forEach: Führt nur eine Aktion aus zahlen.forEach(n => console.log(n * 2)); // Ausgabe: 2, 4, 6
Tool-Hinweise: Code- und Entwickler-KI
KI-Tools im Bereich Softwareentwicklung helfen beim Schreiben, Erklären, Optimieren und Testen von Code. Einige sind als Editor-Plugins verfügbar, andere arbeiten webbasiert oder als API-Dienst.
🧰 Übersicht nützlicher Entwicklungs-KI-Tools
- GitHub Copilot (OpenAI + GitHub)
- KI-Code-Vervollständigung in Echtzeit
- Unterstützt viele Sprachen (Python, JavaScript, Go etc.)
- Integriert in VS Code, JetBrains, Neovim
- Gut für Boilerplate, Tests, kleine Snippets
- Cursor
- Spezialisierter KI-Code-Editor mit eingebautem Chat
- Kontextuelles Prompting direkt im Codebereich
- Ideal für komplexe Refactorings, Erklärungen und Paarprogrammierung
- Unterstützt GPT-4, Claude & Co.
- Amazon CodeWhisperer
- Besonders für Cloud-/AWS-Projekte geeignet
- Integration in Visual Studio Code und JetBrains
- Guter Support für Python, Java, JavaScript
- ChatGPT (mit Code Interpreter / Advanced Data Analysis)
- Flexibel für Erklärungen, Debugging, Tests
- Kann komplette Funktionen schreiben, umstrukturieren und erklären
- Auch für Datenbearbeitung, Regex, API-Beispiele
- Tabnine
- Autovervollständigung via KI, trainiert auf Open Source
- Lokal einsetzbar, mehr Datenschutz
- Schneller als viele Cloud-Tools, aber weniger „intelligent“ als GPT-basiert
- Replit Ghostwriter
- Integriert in Replit IDE (online)
- Besonders für schnelle Prototypen und kleine Projekte
- Unterstützt Pair Programming mit KI-Coach
- Codeium
- Kostenlose Alternative zu Copilot
- Gute Unterstützung für viele Sprachen
- Starke Integration in VS Code und JetBrains
- Datenschutzfreundlicher Ansatz
- Kite (eingestellt, aber historisch relevant)
- Früher Vorreiter im Bereich Code-KI
- Hinweis: 2022 eingestellt
📎 Hinweis
Viele Tools setzen auf GPT-Modelle im Hintergrund. Wer maximale Kontrolle und Datenschutz benötigt, sollte auf lokale Modelle (z. B. Tabnine, Codeium mit Offline-Modus) oder gut konfigurierbare APIs achten.
