Brushes in GitHub Copilot

Julian Billinger
Letzte Artikel von Julian Billinger (Alle anzeigen)

GitHub Copilot ist ein von OpenAI und GitHub entwickeltes Tool, das Programmierern beim Schreiben und Verstehen von Code hilft. Es basiert auf dem OpenAI Codex, einem Deep-Learning-Sprachmodell, das auf einem großen Datensatz von Quellcode trainiert wurde und Lösungscode generieren, sowie Code zwischen Programmiersprachen übersetzen kann. GitHub Copilot bietet eine Reihe von Hilfestellungen für Programmierer, darunter Code-Vervollständigung, die Möglichkeit Code-Kommentare in lauffähigen Code umzuwandeln und Code-Navigation.

Vor Kurzem hat GitHub Copilot eine Reihe neuer Funktionen in seinem Labs-Bereich eingeführt. Mit diesen Funktionen können Benutzer ihren Code automatisch ändern, um ihn sauberer, robuster und besser dokumentiert zu machen. Zu den neuen Funktionen gehören:

Überblick der neuen Funktionen

Neue Schaltflächen für Brushes

READABLE: Verbessert die Lesbarkeit des Codes durch hinzufügen von Leerzeichen und Zeilenumbrüchen. Es ist erwähnenswert, dass jeder Formatierer wie Prettier leistungsfähiger ist und diese Aufgabe besser bewältigt.

ADD TYPES: Fügt Variablen und Funktionsparametern Typkommentare hinzu, um den Code eindeutiger zu machen. In meinem Beispiel hat der Copilot problemlos Typen hinzugefügt, obwohl wir kein TypeScript verwendet haben.

Fehlzündung der ADD TYPES Funktion

FIX BUG: Behebt häufige Codierungsfehler und Fehler, die Bugs verursachen können. In meinem Beispiel habe ich absichtlich einen Fehler gemacht, indem ich this.loading falsch zugewiesen und das letzte „s“ im Funktionsaufruf von this.getUsers() vergessen habe. Leider hat der Copilot nur den ersten Fehler gefunden.

Mit eingebauten Fehlern
Korrigiert

DEBUG: Fügt dem Code Debugging-Anweisungen hinzu, um Probleme zu erkennen und zu beheben. Wer braucht schon richtige Debugger, wenn wir console.log haben?

console.log(‚here‘) in besser

CLEAN: Entfernt unnötigen Code und vereinfacht die Struktur des Codes. Hier können Sie console.logs und anderen ungenutzten Code entfernen.

LIST STEPS: Dokumentiert die einzelnen Schritte des Codes. Ich war angenehm überrascht zu sehen, dass der Copilot hier nützliche Kommentare erstellt.

Nützliche Kommentare

MAKE ROBUST: Macht den Code durch hinzufügen von Fehlerbehandlung und Wiederholungslogik widerstandsfähiger gegen Fehler.

Verhinderung von Fehlern mit korrekten if- / else-if- Blöcken

CHUNK: Teilt den Code in kleinere, besser handhabbare Teile auf. Der Code, den der Copilot aus meinem Beispiel erstellt hat, funktioniert. Aber ich bezweifle, dass dies die beste Methode ist.

Kann man machen, muss man aber nicht…

DOCUMENT: Fügt dem Code eine Dokumentation hinzu, um zu erklären, was er tut. In meinem Beispiel hat der Copilot die Funktion korrekt identifiziert und eine Beschreibung hinzugefügt, allerdings funktionierte das nur in 10% der Fälle. Alternativ wurden Code Blöcke bei dieser Funktion wild erstellt oder einfach nur dupliziert.

Fazit

Insgesamt ist der GitHub Copilot ein nützliches Tool für Programmierer, das Zeit sparen und die Codequalität verbessern kann. Die neuen Brushes sind teilweise funktionstüchtig und können beim entwicklen unterstützen. Es ist jedoch wichtig, die vom Tool vorgenommenen Änderungen sorgfältig zu prüfen und sicherzustellen, dass sie für Ihren speziellen Anwendungsfall geeignet sind.

ChatGPT, mein neuestes Lieblingsspielzeug, ist ein ähnliches Tool wie GitHub Copilot, das beim Schreiben und Verstehen von Code helfen kann, aber auch ähnliche Einschränkungen hat. Auch hat es noch das Problem, dass es als Language Model Code generieren kann der semantisch richtig aussieht, aber faktisch komplett falsch ist.

Weitere Artikel über künstliche Intelligenz finden Sie hier. Wenn Sie Fragen haben oder Unterstützung benötigen, zögern Sie nicht, uns zu kontaktieren.