paint-brush
GitHub Copilot Review: Verleiht es der Entwicklung wirklich eine Geschwindigkeitssteigerung von 55 %?by@elekssoftware
4,669
4,669

GitHub Copilot Review: Verleiht es der Entwicklung wirklich eine Geschwindigkeitssteigerung von 55 %?

ELEKS7m2024/02/28
Read on Terminal Reader

GitHub Copilot ist aufgrund seines Potenzials, Entwicklungsprozesse zu beschleunigen, zu einem Thema von großem Interesse in der Entwicklergemeinschaft geworden. In diesem Artikel wird eine GitHub Copilot-Rezension vorgestellt und deren Auswirkungen auf die Verbesserung der Entwicklungsgeschwindigkeit in realen Szenarien bewertet. Seit seiner Einführung hat Copilot verschiedene Diskussionen ausgelöst, die von Begeisterung und Optimismus bis hin zu Skepsis und Vorsicht hinsichtlich seiner möglichen Auswirkungen auf die Programmierung und die zukünftige Rolle der Entwickler reichten. Sein Einfluss auf verschiedene Aspekte der Softwareentwicklung – von der Geschwindigkeit über die Codequalität bis hin zum Lernen – ist weiterhin Gegenstand von Analysen und Diskussionen.
featured image - GitHub Copilot Review: Verleiht es der Entwicklung wirklich eine Geschwindigkeitssteigerung von 55 %?
ELEKS HackerNoon profile picture

GitHub Copilot ist aufgrund seines Potenzials, Entwicklungsprozesse zu beschleunigen, zu einem Thema von großem Interesse in der Entwicklergemeinschaft geworden. In diesem Artikel wird eine GitHub Copilot-Rezension vorgestellt und deren Auswirkungen auf die Verbesserung der Entwicklungsgeschwindigkeit in realen Szenarien bewertet.


Seit seiner Einführung hat Copilot verschiedene Diskussionen ausgelöst, die von Begeisterung und Optimismus bis hin zu Skepsis und Vorsicht hinsichtlich seiner möglichen Auswirkungen auf die Programmierung und die zukünftige Rolle der Entwickler reichten. Sein Einfluss auf verschiedene Aspekte der Softwareentwicklung – von der Geschwindigkeit über die Codequalität bis hin zum Lernen – ist weiterhin Gegenstand von Analysen und Diskussionen.


Benutzer von GitHub Copilot zeigten eine Beschleunigung der Aufgabenerledigung und erreichten eine um 55 % schnellere Rate als Entwickler, die das Tool nicht verwendeten. - GitHub


Fasziniert von den kühnen Behauptungen über den Geschwindigkeitsschub, der Copilot zugeschrieben wird, machten wir uns auf den Weg, um seine Wirksamkeit zu überprüfen, insbesondere im Bereich der KI in der Softwareentwicklung . Auf unserer Suche nach der Wahrheit haben wir den Einsatz von Copilot in realen Projekten selbst getestet. Um optimale Ergebnisse zu gewährleisten, haben wir folgenden Ansatz gewählt:


  • Abwechslungsreiche Projektauswahl: Wir haben bewusst mehrere Projekte mit unterschiedlichen Tech-Stacks und Architekturansätzen ausgewählt, um ein breites Spektrum an Anwendungsfällen abzudecken.


  • Vielfältiges Entwickler-Know-how: Wir haben Entwickler mit unterschiedlichem Erfahrungs- und Kompetenzniveau engagiert, um das Tool zu testen.


Das Hauptziel des Teams bestand darin, eine GitHub Copilot-Überprüfung durchzuführen und deren Auswirkungen auf die Codierungsproduktivität zu bewerten, die wichtigsten Einflüsse zu identifizieren und die effektivsten Einsatzmöglichkeiten zu finden. Der Testzeitraum dauerte drei Monate, um mögliche Verzerrungen aufgrund einer Lernkurve abzumildern. Lassen Sie uns in die Ergebnisse eintauchen.

GitHub Copilot Review: Wie es sich auf die Entwicklungsgeschwindigkeit auswirkt

Der Schwerpunkt dieser Studie lag auf der Untersuchung, wie sich der Einsatz von Copilot auf verschiedene Arten von Projekten auswirkt. Wir haben die Wirksamkeit von Copilot in monolithischen Anwendungen und Microservices sowohl in Backend- als auch in Frontend-Anwendungen getestet und analysiert, um zu verstehen, wo dieses Tool am effektivsten ist.


Copilot bringt eine Produktivitätssteigerung von 10–15 % beim Schreiben von neuem Code. - ELEKS-Team


Im Großen und Ganzen können wir behaupten, dass der Einfluss von Copilot auf die Entwicklungsgeschwindigkeit sehr unterschiedlich ist und von vielen Faktoren abhängt. Die folgenden wesentlichen Abhängigkeiten zeichnen sich hinsichtlich der effektiven Nutzung von Copilot ab:

1. Größe der vorhandenen Codebasis

Abhängig von der Art des Projekts und der Codestruktur variiert der Einfluss von Copilot auf die Entwicklungsgeschwindigkeit: Bei monolithischen Frontend-Anwendungen erzielten wir eine Verbesserung der Entwicklungsgeschwindigkeit um etwa 20–25 %; bei monolithischen Backend-Anwendungen – etwa 10–15 % Verbesserung und bei Backend-Microservices – durchschnittlich 5–7 %. - Ihor Mysak, technischer Leiter bei ELEKS


Das Urteil? Copilot gedeiht in Projekten mit einer großen Codebasis, wo es Entwickler mit vorhandenen Vorlagen und Lösungen unterstützen kann. Allerdings schwindet seine Leistungsfähigkeit im Microservice-Bereich, der durch eine kleine Codebasis gekennzeichnet ist. Dies weist auf die Ineffektivität von Copilot bei Projekten hin, die gerade erst beginnen und noch nicht genügend entwickelte Lösungen enthalten.

2. Technologischer Stack

Das Testen von Copilot an Projekten mit unterschiedlichen Tech-Stacks zeigte eine erhebliche Abhängigkeit von der Qualität der Vorschläge von Copilot basierend auf der Beliebtheit der Technologie.


  • React-Anwendungen weisen einen erheblichen Produktivitätsschub auf und stellen das inzwischen veraltete und weniger beliebte Zend-Framework in den Schatten.


  • .Net-Projekte befinden sich im Mittelweg; Es wurde beobachtet, dass die Leistung mittelmäßig war, besser als mit Zend, aber nicht so hoch wie mit React, was auf einen Zusammenhang mit der relativen Beliebtheit und Menge der verfügbaren .Net-Materialien hindeutet.


Wir glauben, dass dies daran liegt, dass Copilot auf öffentlichen GitHub-Repositories geschult wurde und über mehr Schulungsmaterial für Technologien verfügte, die bei Entwicklern beliebter waren.

3. Qualität des Codes in der vorhandenen Codebasis

Copilot generiert tendenziell qualitativ hochwertigere Vorschläge mit der richtigen und logischen Benennung von Variablen und Methoden. Dies lässt uns glauben, dass eine hochwertige Benennung Copilot dabei hilft, den Kontext des Codes besser zu verstehen und genauere und nützlichere Vorschläge zu liefern.


Wenn die Benennung von Variablen und Methoden hingegen unklar oder mehrdeutig ist, stehen Copilot weniger Informationen zur Analyse zur Verfügung, was die Qualität seines Beitrags zum Entwicklungsprozess verringert. Somit vereinfacht eine qualitativ hochwertige Benennung im Code nicht nur die Arbeit von Programmierern, sondern erhöht auch die Wirksamkeit von Tools der künstlichen Intelligenz.

4. Art der vom Entwickler ausgeführten Aufgaben

Trotz seiner Wirksamkeit in bestimmten Aspekten der Entwicklung haben wir auch festgestellt, dass Copilot Einschränkungen aufweist, insbesondere bei der Generierung von Code, der neue Geschäftslogik implementiert.


Copilot schreibt nur den Code entsprechend der Eingabeaufforderung, keine vollständigen Lösungen. Copilot wird am effektivsten für Klar- und Vorlagenaufgaben eingesetzt. Der Zeitaufwand für eine detaillierte Beschreibung der Geschäftslogik kann den Zeitaufwand für die Implementierung dieser Geschäftslogik ohne Verwendung von Copilot übersteigen. - Ihor Mysak, technischer Leiter bei ELEKS


Während es bei Aufgaben mit Vorlagen effektiv ist, hat es Probleme mit den Feinheiten neuer Ideen oder kreativer Programmierung. Die Botschaft ist klar: Copilot ist der vertrauenswürdige Begleiter eines Entwicklers im Alltag, aber der Bereich der Innovation erfordert den Hauch menschlicher Kreativität.


Wichtige Tipps für den effektiven Einsatz von Copilot:


  • Präzision im Schlüssel: Je präziser und detaillierter die Aufforderung, desto höher ist die Wahrscheinlichkeit, von Copilot ein Qualitätsangebot zu erhalten.


  • Der Kontext ist alles: Vermeiden Sie Verwirrung, indem Sie nicht verwandte Projekte schließen, während Sie Copilot verwenden. Wenn in der IDE mehrere Projekte geöffnet sind, kann Copilot Kontexte verwechseln und Vorschläge für Projekt A basierend auf dem Code von Projekt B generieren.


  • Kommentare sind wichtig: Das Hinzufügen von Kommentaren vor dem Erstellen einer Klasse oder Methode verbessert die Qualität der automatischen Vervollständigung.


  • Dateifokus: Copilot reagiert empfindlich auf die geöffneten Registerkarten mit Projektdateien, sodass man künstlich einen gezielteren Kontext dafür erstellen kann.

Das Potenzial von GitHub Copilot freisetzen: Anpassungsfähigkeit und indirekte Wirkung

Anpassungsfähigkeit an projektspezifische Umgebungen

Eine der interessantesten Eigenschaften von Copilot ist seine Fähigkeit, sich an die Besonderheiten eines bestimmten Projekts anzupassen. Im Laufe der Zeit „lernt“ Copilot den Codierungsstil und die spezifischen Merkmale des Projekts, was zu einer Verbesserung der Qualität seiner Vorschläge führt.


Zunächst bietet Copilot möglicherweise generische oder weniger präzise Lösungen an. Je mehr Aufmerksamkeit und Interaktion das Tool innerhalb des Projekts erhält, desto besser werden jedoch die Genauigkeit und Relevanz seiner Vorschläge.


Dies macht sich besonders bei Projekten mit einem etablierten Codierungsstil und einer großen Menge vorhandenem Code bemerkbar, den Copilot „trainieren“ kann.


Diese Anpassungsfähigkeit macht Copilot nicht nur zu einem Werkzeug zur Effizienzsteigerung, sondern auch zu einem leistungsstarken Hilfsmittel bei der Aufrechterhaltung der Codekonsistenz innerhalb eines Projekts.


Entwickler haben auch den positiven Einfluss von Copilot auf die Codekomplexität hervorgehoben und einen Wandel hin zu besser lesbaren und wartbaren Lösungen festgestellt, insbesondere bei denjenigen, die es gewohnt sind, komplizierte und komplizierte Codestrukturen zu erstellen.

Verbesserung des automatisierten Testens

Copilot hört nicht beim Codieren auf; Es beherrscht auch die Kunst des automatisierten Testens. Das Tool bietet Vorlagen und Empfehlungen für potenzielle Testszenarien, sodass Entwickler Zeit und Ressourcen sparen können.


Copilot steigert das Schreiben von Unit-Tests um 20–30 %. - ELEKS-Team


Besonders wertvoll ist die Fähigkeit von Copilot, einzigartige Testfälle zu generieren, die für Entwickler möglicherweise nicht offensichtlich sind. Es erweitert die Testabdeckung und verbessert die Prüfungstiefe des Softwareprodukts.


Interessanterweise steht die Qualität der mit Copilot erstellten Tests in direktem Zusammenhang mit der Qualität und Struktur des getesteten Codes.


Unsere Entwickler haben festgestellt, dass die Klarheit der Variablennamen, Methoden und die Gesamtstruktur des Codes einen erheblichen Einfluss auf die Qualität und Genauigkeit der Testgenerierung von Copilot haben.


Daher hängt die Effektivität der Verwendung von Copilot zum Schreiben von Unit-Tests vom Tool selbst und der Qualität des getesteten Codes ab.


Insgesamt hat sich Copilot als nützliches Werkzeug beim Schreiben von Unit-Tests erwiesen und nicht nur die Geschwindigkeit, sondern auch die Qualität des Endprodukts verbessert.

Indirekte Auswirkungen

GitHub Copilot erhöht die Codierungsgeschwindigkeit und verbessert die Gesamtqualität der Arbeit eines Entwicklers. Dem Feedback der Entwickler zufolge ermöglicht Copilot ihnen, den Fokus von routinemäßiger, zeitaufwändiger Arbeit auf kreativere und anspruchsvollere Aufgaben zu verlagern.


Darüber hinaus kann Copilot eine effektive Alternative zur Suche im Internet oder in der Dokumentation sein, indem es den Zeitaufwand für das Wechseln zwischen verschiedenen Fenstern reduziert und es Entwicklern ermöglicht, sich auf ihre aktuellen Aufgaben zu konzentrieren.


Diese Funktion ist praktisch, wenn Sie schnell Antworten auf Fragen finden müssen, ohne von der Hauptarbeit abgelenkt zu werden.


Copilot wirkt sich positiv auf den Komfort und die Zufriedenheit eines Entwicklers aus. Es vereinfacht die Beantwortung verschiedener Fragen und hilft, wenn keine Möglichkeit besteht, sich an ältere Kollegen zu wenden oder im Internet eine Lösung zu finden. - Olena Hladych, QA-Leiterin bei ELEKS


Interessanterweise haben wir einen Zusammenhang zwischen den Soft Skills von Entwicklern und ihrer Zufriedenheit mit der Verwendung von Copilot festgestellt: Entwickler mit weniger entwickelten Kommunikationsfähigkeiten sind oft weniger zufrieden mit der Leistung, möglicherweise aufgrund von Schwierigkeiten bei der präzisen Formulierung von Eingabeaufforderungen.

Abschluss

GitHub Copilot ist ein leistungsstarkes Tool, das die Entwicklungsproduktivität in bestimmten Szenarien erheblich steigert, insbesondere bei der Erstellung von Unit-Tests und beim Navigieren in umfangreichen Codebasen, die auf beliebten Technologien basieren. Allerdings stößt seine Wirksamkeit bei Aufgaben, die innovative Ansätze oder die Entwicklung neuartiger Konzepte erfordern, auf Einschränkungen.


Entgegen der Behauptung, die eine Produktivitätssteigerung um 55 % vorsehe, blieb das tatsächliche Ergebnis hinter den Erwartungen zurück. Im Durchschnitt verzeichneten die Teams eine moderate Produktivitätssteigerung von 10–15 % im Zusammenhang mit der Generierung neuen Codes.


Es ist jedoch wichtig, verschiedene Vorteile hervorzuheben, die der Nutzung von Copilot zugeschrieben werden. Insgesamt schätzen Entwickler Copilot als ein unschätzbar wertvolles Tool ein, das erheblich zur Entwicklungsgeschwindigkeit beiträgt und die Zufriedenheit der Entwickler fördert.


Wir empfehlen Teams und Entwicklern, Copilot in Betracht zu ziehen und sich dessen potenzieller Einschränkungen bewusst zu sein. Der Schlüssel zur effektiven Nutzung von Copilot liegt im Verständnis, dass es sich um ein Hilfswerkzeug und nicht um einen Ersatz für den menschlichen Intellekt und die Kreativität handelt.


Es kann die Produktivität und Arbeitszufriedenheit steigern, den Zeitaufwand für Routineaspekte der Entwicklung reduzieren und es Entwicklern ermöglichen, sich auf komplexere und kreativere Aufgaben zu konzentrieren.


Liefern Sie Ihr Softwareprojekt mit Top-Entwicklungsexperten bei ELEKS. Kontaktiere uns heute!