Was bringen chatGPT und Copilot eigentlich in der Softwareentwicklung? Diese Frage habe ich mir gestellt und überlegt, wie ich das ausprobieren kann. Ein kleines “Test-Szenario” muss her. Also los: Ich möchte eine Client-Server Anwendung. Clientseitig mit JavaScript und React. Serverseitig mit FastAPI und Python. Als Datenbank sollte PostgreSQL zum Einsatz kommen. Außerdem: Das wichtigsten an der Softwareentwicklung in das Testing! Daher brauche ich Unit-Test und Testdaten. Und eine Datenbank direkt auf meinem PC installieren? Lieber nicht, nur stress. Datenbank sollte also im Docker-Container laufen.

Zielsetzung

  1. Entwurf einer Client Server Anwendung
  2. Testfall Erstellung
  3. Testdaten Generierung
  4. Code Reviews
  5. Code Interpretation

Technologie Stack

Vorgehen

  1. Backend mittels fastAPI erstellen lassen via ChatGPT
  2. Frontend (Web-Formular) mittels CoPilot aus VS Code erstellt
  3. Datenbank über inline-chat mit Copilot angebunden
  4. Unit-Tests mit Co-Pilot angelegt

Zwischenstand nach einer Woche

Das Versprechen “GitHub Copilot is an AI pair programmer.” Kann ich genauso unterschreiben. Es fühlt sich an, wie mit einem Bekannten den Code besprechen. Allerdings auch dieser Bekannte weiß nicht alles und macht Fehler.

Wenn es darum geht “from Scratch” neue Apps aufzusetzen, ist Copilot unschlagbar. Eine kurze Beschreibung in den Chat und schon ist das Webformular fertig. Kommentare schreiben sich fast von allein. Die ersten Worte (auf Deutsch) geschrieben und Copilot beendet den Satz. Bei sprechenden Funktionsnamen liefert Copilot die Funktionsdefinition oder schreibt auf Wunsch die Unit Test allein. Kopieren, Einfügen, fertig. Allgemeine Nutzung der Tools? Kein Problem: Wie sende ich HTTP Request via Postman? Wie starte ich die Unittests? Wie erstelle ich die Docker-Compose Datei? Copilot weiß die richtige Antwort.

Allerdings wenn es darum geht verschiedenen Framework oder Komponenten zu verbinden, wird es schwieriger. Auch bei der Konfiguration kann es schonmal sein, dass statt der Parameter für z. B. Directus CMS die Parameter für Express angegeben werden. Dass die Umgebungsvariablen im Docker-Compose File doch nicht die gesuchten waren oder das es beim Zugriff auf die Datenbank für genau diese eine Funktion eine Ausnahme gibt, die auch in der Dokumentation zu finden ist. Besteht ein Fehler wiederholt Copilot auch beim dritten nachfragen fast Wortgleich seine Antwort (ein recht stoischer pair Programmer)

Fazit

Copilot und chatGPT sind echte Unterstützung in der Entwicklung. Die Arbeit wird drastisch beschleunigt. Gerade für den ersten Entwurf, das Prototyping, repetitive Aufgaben oder beim Finden von Tippfehlern. Aber wenn ich nicht weiß, was ich die KI fragen soll. Wenn ich nicht auf die Idee kommen einen Container mit Docker zu nutzen, Client und Server zu trennen, eine REST-API zu erstellen. Daher: Fehlt mir das Fachtermini und sind mir die gängigen Konzepte nicht bewusst, hilft mir auch die(se) KI (noch) nicht.

Ausblick

Heute musste ich KI Support extra hinzufügen. In Zukunft unterstützt das jede IDE, von Hause aus. Die Entwicklung selbst wird sich ändern. Das eigentliche “Programmiren” wird weniger relevant. Konzeption, Anforderungsdefinition und Methodenwissen und damit Beobachten, Verstehen und Kommunizieren sind die Kompetenzen von morgen.

Newsletter Anmeldung

Bitte aktiviere JavaScript in deinem Browser, um dieses Formular fertigzustellen.
Name
Datenschutz