KI-Produkte haben die Softwareentwicklung oder Codierung in der Neuzeit revolutioniert. Mithilfe von KI können wir Programmiercodes automatisch generieren und diese dadurch korrigieren und optimieren Code Refactoring . In diesem Artikel untersuchen wir den Refactoring-Prozess und sehen, wie Sie dies erreichen können Verwenden Sie den Copilot-zu-Refraktor-Code .
Was ist Code-Refactoring?
In der Software- oder Anwendungsentwicklung bezeichnet Code Refactoring die Rekonstruktion oder Neuanordnung des Programmquellcodes unter Beibehaltung seiner ursprünglichen Funktionalität. Der Prozess zielt darauf ab, die Struktur und das Design der Software zu verbessern und die Komplexität zu reduzieren. Die Integration von KI in das Code-Refactoring hat uns geholfen, Software-Leistungsprobleme umgehend zu erkennen und komplexe Algorithmen zu vereinfachen, um die Gesamteffizienz zu verbessern.
Wie kann Copilot beim Refactoring von Codes helfen?
Es kann einen bestimmten Abschnitt des Codes analysieren und Vorschläge zur Verbesserung seiner Struktur in ein saubereres und benutzerfreundliches Format machen, um die Komplexität zu reduzieren. Die bereitgestellten Empfehlungen basieren auf Folgendem:
- Identifizieren Sie Probleme mit dem vorhandenen Code: Copilot scannt die gesamte Codedatei, um die Abschnitte oder Bereiche hervorzuheben, die umgestaltet werden müssen, indem es auf doppelte Codes, nicht verwendete oder unklare Variablen usw. hinweist.
- Schlagen Sie effiziente Optionen vor: Beim Refactoring von Code analysiert Copilot den vorhandenen Code und schlägt effiziente Alternativen vor, die die gleichen Ergebnisse liefern, den Code aber sauberer aussehen lassen. Zu diesen Empfehlungen gehört die effiziente Verwendung von Sprache für die Benennung von Variablen, Methoden und Datenstrukturen.
- Sorgen Sie für wartbaren Code: Echtzeit-Feedback hilft uns, die Aufnahme von Fehlern zu vermeiden. Die Vorschläge basieren im Allgemeinen auf den Best Practices der Programmierprinzipien, die dazu beitragen können, die richtige Codestruktur aufrechtzuerhalten und es anderen leichter zu machen, sie zu verstehen und bei Bedarf zu ändern.
So verwenden Sie Copilot-zu-Refraktor-Code
Um Copilot für das Refactoring zu verwenden, können wir damit beginnen Installation des GitHub Copilot Erweiterung für die betreffende Sprache (VS Code, Python usw.). Wenn wir beispielsweise einen in Python geschriebenen Quellcode rekonstruieren möchten, können wir das Copilot-Plugin folgendermaßen installieren:
Tasche zum Chrom hinzufügen
- Klicken Sie, um die Option „Einstellungen“ in der integrierten Entwicklungsumgebung oder IDE (JavaScript oder Python) zu öffnen.
- Klicken Sie links auf die Plugin-Option.
- Klick auf das Marktplatz Option und suchen Sie nach GitHub-Copilot Plugin.
- Sobald Sie es gefunden haben, klicken Sie auf Installieren um das Plugin zu installieren.
- Sobald die Installation abgeschlossen ist, fordert die IDE zu einem Neustart auf. Öffnen Sie nach dem Neustart die IDE und klicken Sie auf Extras -> GitHub Copilot -> Bei GitHub anmelden.
- Nach erfolgreicher Anmeldung ist Copilot einsatzbereit.
- Um Copilot zu verwenden, können beim Schreiben des Codes die folgenden Tastenkombinationen verwendet werden
Aktion | Windows/Linux | Mac OS |
Lösen Sie Inline-Vorschläge aus | Alt+\ | Option+\ |
Siehe den nächsten Vorschlag | Alt+] | Option+] |
Siehe den vorherigen Vorschlag | Alt+[ | Option+[ |
Akzeptieren Sie einen Vorschlag | Tab | Tab |
Einen Inline-Vorschlag verwerfen | Esc | Esc |
Alle Vorschläge in einem neuen Tab anzeigen | Alt+Enter | Alt+Enter |
Verwandt: So zeigen Sie von GitHub heruntergeladenen Code an
Beispiel 1: Um einen komplexen Code zu vereinfachen
Betrachten wir den folgenden Codeausschnitt, um zu zeigen, wie ein komplexer Code mithilfe der Refactoring-Funktion von Copilot vereinfacht werden kann. Aus Gründen des besseren Verständnisses betrachten wir hier nur einen Teil eines größeren Programms:
Vor dem Refactoring
public void processOrder(Order order) { // ... further codes if (order.isReadyForProcessing()) { // process the order } //... further codes }
Nach Refactoring mit Copilot
public void processOrder(Order order) { // ...further codes processReadyOrder(order); // ...further codes }
private void processReadyOrder(Order order) { if (order.isReadyForProcessing()) { // process the order } }
Im obigen Beispiel besteht der erste Codesatz (Vor dem Refactoring) aus einer Funktion oder Methode mit dem Namen Prozessauftrag, die die Schritte zur Bearbeitung einer bestimmten Bestellung ausführt. Bevor die Bestellung verarbeitet wird, prüft die bedingte IF-Anweisung, ob die Bestellung zur Verarbeitung bereit ist oder nicht if (order.isReadyForProcessing()) Funktion. In diesem Codesatz ist die Verarbeitungslogik in der Primärfunktion enthalten, wodurch sie weniger modular ist.
Im folgenden Codeausschnitt haben wir das Prozessauftrag Funktion zur Bearbeitung der Bestellung. Allerdings wurde die Logik zur Prüfung, ob die Bestellung zur Bearbeitung bereit ist, und zur Bearbeitung der fertigen Bestellung in eine separate Funktion mit dem Namen verschoben ProcessReadyOrder. Dies hilft dabei, jede Methode zu isolieren, um dem Code Klarheit und Modularität zu verleihen.
Beispiel 2: Variablenumbenennung
Vor dem Refactoring
def calculate_area(l, w): return l * w
Nach Refactoring mit Copilot
def calculate_area(length, width): return length * width
Nach dem Refactoring wurden jedoch die Variablen „l“ und „w“ durch Länge und Breite ersetzt, was durch die Umbenennung von Variablen als wesentliches Merkmal des Refactorings zur Klarheit des Codes beitrug.
Auch wenn Copilot uns bei der Rekonstruktion des Codes helfen kann, weist es einige Einschränkungen auf, wie z. B. falsche Vorschläge, übermäßiges Vertrauen und das Brechen veralteter Codes. Sobald Sie die Vorschläge erhalten haben, stellen Sie sicher, dass Sie alle manuellen Prüfungen durchführen Verwenden Sie die richtigen Eingabeaufforderungen.
Auf welchen Daten wurde GitHub Copilot trainiert?
GitHub Copilot wurde in natürlichsprachigem Text und Quellcode aus öffentlich zugänglichen Quellen geschult, einschließlich Code in öffentlichen Repositories auf GitHub. Es basiert auf generativen KI-Modellen, die GitHub, OpenAI und Microsoft entwickelt haben.
Welche kompatiblen Programmiersprachen gibt es für Copilot?
Github Copilot unterstützt verschiedene Sprachen, funktioniert aber besonders gut mit JavaScript, TypeScript, Ruby, Python, Go, C++ und C#.