Kommentar

ChatGPT für Programmierer

ChatGPT beim Erstellen, Bearbeiten und Verstehen von Code sinnvoll einsetzen

Codevervollständigung in Entwicklungsumgebungen gibt es bereits seit Jahrzehnten. Auch Programmierassistenten, die über eine einfache Vervollständigung hinausgehen, sind mittlerweile verbreitet. Werkzeuge wie ChatGPT können nicht nur Code erzeugen, sondern auch vorhandenen Code verändern und erläutern. Daraus ergeben sich verschiedene Möglichkeiten zur Unterstützung bei typischen Entwicklungsaufgaben.

  • Code erklären. ChatGPT kann vorhandenen Code beschreiben und einzelne Anweisungen oder Funktionen erläutern.
  • Code verbessern. Zusammen mit einem konkreten Ziel kann das Modell Änderungsvorschläge und eine entsprechend angepasste Fassung erzeugen.
  • Code umschreiben. Code lässt sich von einer Programmiersprache in eine andere übertragen. Das Modell kann zusätzlich begründen, welche Änderungen durch die Zielsprache erforderlich werden.
  • Code vereinfachen. Für komplexen Code kann ChatGPT eine leichter lesbare oder kompaktere Alternative vorschlagen.
  • Programmierstil anpassen. Das kann bei Code helfen, der aus einer anderen Programmiersprache übertragen oder noch nicht an die Konventionen eines Projekts angepasst wurde.
  • Fehler aufspüren. Das Modell kann mögliche Ursachen für Fehler benennen und Korrekturen vorschlagen.
  • Alternativen ermitteln. Zu einem Algorithmus kann ChatGPT alternative Implementierungen mit ihren jeweiligen Vor- und Nachteilen gegenüberstellen.
  • Dokumentation verfassen. Aus vorhandenem Code lassen sich Entwürfe für Kommentare oder eine technische Dokumentation ableiten.
  • Unit-Tests schreiben. ChatGPT kann Testfälle vorschlagen und daraus erste Unit-Tests erzeugen.

Für generierten Code gilt dasselbe wie für Code aus anderen Quellen wie Stack Overflow oder Kaggle: Er muss verstanden, geprüft und getestet werden. Vorschläge können Fehler, unsichere Abhängigkeiten oder unpassende Annahmen enthalten. Zugangsdaten, vertrauliche Informationen und proprietärer Quellcode sollten zudem nicht unkontrolliert an externe Dienste übermittelt werden. ChatGPT ersetzt damit keine verantwortliche Entwicklungsarbeit, kann einzelne Schritte aber beschleunigen.