23 Punkte von GN⁺ 2025-06-06 | Noch keine Kommentare. | Auf WhatsApp teilen
  • AI-Coding-Assistenten kennen die Projektabsicht nicht von selbst, daher hängt die Qualität der Ergebnisse stark davon ab, wie gut Entwickler Kontext, Ziel und Beispiele liefern
  • Beim Debugging sollte man nicht nur Code und Fehler hinwerfen, sondern auch das erwartete Verhalten, das tatsächliche Verhalten und die Laufzeitumgebung mitgeben und den Problembereich durch zeilenweises Nachverfolgen oder ein minimales reproduzierbares Beispiel eingrenzen
  • Bei Refactoring und Optimierung sollte man nicht einfach „besser“ sagen, sondern Erfolgskriterien wie Duplikate entfernen, Parallelisierung, Beibehaltung der Fehlerbehandlung oder Versionsbeschränkungen klar definieren
  • Bei der Implementierung neuer Funktionen ist es sicherer, nicht alles auf einmal zu übertragen, sondern Planung, Gerüst, State-Management, API-Integration und Edge Cases in kleine Schritte aufzuteilen, zu prüfen und schrittweise zu erweitern
  • Mehrdeutige Fragen, überzogene Anforderungen, Code-Dumps ohne Frage und unklare Referenzen verschlechtern die Ergebnisse; AI sollte eher als iterativer dialogorientierter Pair Programmer statt als einmaliger Generator behandelt werden

Grundprinzipien für den guten Einsatz von AI-Coding-Assistenten

  • AI-Coding-Assistenten können bei Funktions-Autovervollständigung, Vorschlägen zur Fehlerbehebung sowie bei der Erstellung von Modulen oder MVPs helfen, aber die konkrete Projektabsicht hängt von den Informationen ab, die der Nutzer bereitstellt
  • Gute Prompts behandeln die AI wie einen „wörtlich verstehenden Kollaborateur“ und geben das gewünschte Ergebnis sowie das gewünschte Format klar vor
  • Die Grundprinzipien sind wie folgt
    • Reichhaltigen Kontext liefern: Sprache, Framework, Bibliotheken, relevante Funktionen oder Codeausschnitte, genaue Fehlermeldungen und erwartetes Verhalten einbeziehen
    • Ziel präzisieren: Die Frage eingrenzen, etwa nicht „Warum funktioniert das nicht?“, sondern „Warum gibt diese JavaScript-Funktion undefined statt des erwarteten Werts zurück, und wie kann man das beheben?“
    • Komplexe Aufgaben zerlegen: Große Funktionen nicht auf einmal anfordern, sondern schrittweise vorgehen, etwa mit dem Erstellen eines React-Komponenten-Gerüsts, dem Hinzufügen von State-Management und der Integration von API-Aufrufen
    • Ein-/Ausgabe-Beispiele geben: Beispiele wie die Anforderung, dass die Eingabe [3,1,4] zu [1,3,4] führen soll, verringern Mehrdeutigkeiten in den Anforderungen
    • Rolle festlegen: Mit Rollen wie „senior React developer“, „JavaScript performance expert“ oder „code reviewer“ lassen sich Tiefe und Stil der Antwort steuern
    • Iterieren und nachbessern: Wenn die erste Antwort nicht passt, kann man die Richtung mit Folgeanfragen wie der Verwendung einer Schleife statt Rekursion, besseren Variablennamen oder zusätzlichen Kommentaren anpassen
    • Code-Klarheit erhalten: Aussagekräftige Funktions- und Variablennamen, konsistentes Formatting sowie Kommentare und Docstrings helfen der AI, die Absicht des Codes zu erkennen

Debugging-Prompt-Muster

  • Eine Debugging-Anfrage sollte enthalten, was der Code tun soll, was tatsächlich schiefläuft und welcher Fehler auftritt
  • Gute Debugging-Prompts enthalten normalerweise die folgenden Informationen
    • verwendete Sprache und Laufzeitumgebung
    • problematischer Code
    • genaue Fehlermeldung oder fehlerhafte Ausgabe
    • erwartete Ausgabe
    • Beispiel-Eingabe
    • bereits ausprobierte Methoden
  • Bei komplexen Logikfehlern kann man die AI um ein zeilenweises Ausführungstracing bitten, damit sie Zustandsänderungen nachvollzieht
    • Beispiel: „Verfolge in dieser Funktion, wie sich der Wert von total in jedem Schritt verändert, und finde heraus, wo die Akkumulation falsch läuft“
  • Selbst wenn die Codebasis groß ist, ist es besser, ein kleines Codefragment als minimales reproduzierbares Beispiel zu zeigen, wenn sich der Fehler damit nachstellen lässt
  • Wenn die erste Antwort nur teilweise nützlich ist, kann man mit Folgefragen wie „Zeig mir den korrigierten Code“ oder „Erkläre, warum diese Änderung das Problem löst“ nachhaken

Debugging-Beispiel: vage Frage und verbesserte Frage

  • Der Beispielcode ist eine Node.js-/JavaScript-Funktion mapUsersById(users), die ein Benutzer-Array in ein ID-basiertes Objekt umwandeln soll
  • Der Bug ist `for (let i = 0; i

Noch keine Kommentare.

Noch keine Kommentare.