paint-brush
KI in der Softwareentwicklung: Erkunden Sie GitHub Copilot mit Erkenntnissen des ELEKS-Forschungs- und Entwicklungsteamsvon@elekssoftware
553 Lesungen
553 Lesungen

KI in der Softwareentwicklung: Erkunden Sie GitHub Copilot mit Erkenntnissen des ELEKS-Forschungs- und Entwicklungsteams

von ELEKS6m2024/02/06
Read on Terminal Reader

Zu lang; Lesen

Entdecken Sie die Rolle der KI in der Softwareentwicklung, während ELEKS die innovativen Fähigkeiten von GitHub Copilot erkundet.
featured image - KI in der Softwareentwicklung: Erkunden Sie GitHub Copilot mit Erkenntnissen des ELEKS-Forschungs- und Entwicklungsteams
ELEKS HackerNoon profile picture
0-item
1-item

KI revolutioniert die Softwareentwicklung und macht sie effizienter, produktiver und innovativer. In diesem Artikel untersuchen wir die Auswirkungen von KI auf die Softwareentwicklung und gehen dabei auf die Erkenntnisse ein, die wir aus unserer vom ELEKS-Forschungs- und Entwicklungsteam durchgeführten Untersuchung von GitHub Copilot gewonnen haben.


Da sich die Welt der Softwareentwicklung ständig weiterentwickelt, wird die Rolle der KI immer wichtiger. Mit Vorteilen wie der Möglichkeit, den Zeit- und Arbeitsaufwand für die Codierung zu reduzieren, ist es kein Wunder, dass KI in der Softwareentwicklung heutzutage ein heißes Thema ist.


92 % der in den USA ansässigen Entwickler nutzen bereits KI-Codierungstools sowohl bei der Arbeit als auch außerhalb. - GitHub


70 % der Entwickler glauben, dass KI-Codierungstools ihnen bei ihren beruflichen Bemühungen einen deutlichen Vorteil verschaffen werden, einschließlich verbesserter Codequalität, kürzerer Fertigstellungszeit und verbesserter Möglichkeiten zur Lösung von Vorfällen. - GitHub


4 von 5 Entwicklern erwarten, dass KI-Codierungstools die Zusammenarbeit ihres Teams verbessern. - GitHub


Obwohl KI im Vergleich zur Vergangenheit noch nicht das Stadium erreicht hat, in dem sie Softwareprodukte ohne menschliches Zutun selbstständig erstellen, testen und auf den Markt bringen kann, hat sie die Gesamtdurchlaufzeit erheblich beschleunigt.


Es stehen viele KI-gesteuerte Tools zur Verfügung, die bei der Entwicklung benutzerdefinierter Anwendungen helfen können, indem sie Code generieren und automatisch vervollständigen sowie Fehler erkennen und beheben. Das ELEKS-Forschungs- und Entwicklungsteam hat ein solches Tool – GitHub Copilot – gründlich bewertet, um seinen Einfluss auf die Aufgaben der Entwickler, die Abschlussdauer und die Qualitätsstandards für bereitgestellte Empfehlungen zu bewerten. Lass uns genauer hinschauen.

Was ist GitHub Copilot?

GitHub Copilot ist ein Tool zur automatischen Vervollständigung und Generierung von Code. Es basiert auf OpenAI Codex und wird auf öffentlichen GitHub-Repositories trainiert. Als Ergebnis schlägt es Code für jede Programmiersprache vor. Die Qualität der Vorschläge hängt jedoch von der Anzahl der öffentlichen Repositories ab, die auf einer bestimmten Programmiersprache und einem bestimmten Framework basieren.


GitHub Copilot arbeitet mit Programmcode mithilfe von IDE-Plugins (Integrated Development Environment). Derzeit werden nur die folgenden IDEs unterstützt:

  • Visual Studio-Code
  • Visual Studio
  • Neovim
  • alle IDEs von JetBrains

Überblick über die GitHub-Copilot-Untersuchung von ELEKS

Ziel dieser Untersuchung war es, die Auswirkungen der Verwendung von Copilot sowohl auf die Entwicklungsgeschwindigkeit als auch auf die Qualität zu untersuchen.


Zur Durchführung dieser Studie wurde ein kleines Lieblingsprojekt als Testgelände für verschiedene Annahmen initiiert. Mit einem Team aus vier erfahrenen mittleren Entwicklern, die über Fachkenntnisse in React, Redux, TypeScript, Jest, Vite, PHP, Symfony und Codeception verfügen, haben wir mit der Untersuchung begonnen und unsere Ziele und Ansätze wie folgt definiert.

Ziel

Ansatz

Bewerten Sie die Abhängigkeit zwischen der Kompetenz und Leistung des Entwicklers bei der Verwendung von Copilot

Wir haben das Symfony-Framework für die Backend-Entwicklung ausgewählt. Das Back-End-Team hatte keine nennenswerte Erfahrung mit diesem Framework.
Um die Qualität der Back-End-Lösung zu beurteilen, wurde ein Symfony-Experte an einem Code-Review beteiligt. Der Experte entwickelte außerdem eine grundlegende Projektstruktur, die über die typische hinausging und in einem großen kommerziellen Projekt zum Einsatz kam.

Untersuchen Sie die Auswirkungen auf typische Entwickleraufgaben

Vor Projektbeginn erstellten wir einen WBS, der die typische Arbeit eines Entwicklers an einem kommerziellen Projekt abdeckte. Außerdem führten wir eine Sitzung zur Aufgabenschätzung durch.

Untersuchen Sie die Auswirkungen auf Programmiersprachen und Frameworks nach Beliebtheit

Wir haben eine Webanwendung mit Testabdeckung entwickelt.

Bewerten Sie die Auswirkungen auf die Zeit für die Erledigung von Aufgaben

Wir haben eine vorläufige Schätzung der einzelnen Aufgaben des Projekts vorgenommen.

Verbessern Sie die Forschungseffektivität

Während der täglichen Synchronisierung führten wir Sitzungen zum Wissensaustausch innerhalb des Teams durch.

Entdecken Sie die Qualität der Vorschläge

Wir haben getestet, wie Copilot mit einer nicht-klassischen und komplexeren Projektstruktur umgeht.



Wichtige Erkenntnisse aus der GitHub-Copilot-Untersuchung von ELEKS

Die Untersuchung von GitHub Copilot durch ELEKS ergab mehrere wichtige Erkenntnisse, die Aufschluss über die Fähigkeiten und Vorteile des Tools geben. Hier ist eine detailliertere Beschreibung:


Bitte beachten Sie, dass die Untersuchungsergebnisse auf dem subjektiven Feedback des Teams, Beobachtungen seiner Arbeit und Codeüberprüfungen seiner Lösungen basieren.

Der GitHub Copilot verfügt über zwei Betriebsmodi:

  1. Code-Autovervollständigungsmodus – wirkt sich fast immer positiv auf die Leistung aus.
  2. Codegenerierungsmodus basierend auf einem Kommentar mit einer Eingabeaufforderung – funktioniert nur für typische Codestrukturen gut. Dies kann bei der Generierung von Geschäftslogik oder untypischen Lösungen kontraproduktiv sein, da die Analyse der vorgeschlagenen Codevarianten viel Zeit in Anspruch nimmt.

Die Qualität der GitHub Copilot-Codevorschläge hängt von Folgendem ab:

  • Beliebtheit des ausgewählten Tech-Stacks in öffentlichen Repositories. Je beliebter die Technologie oder Sprache ist, desto höher ist die Qualität der GitHub Copilot-Vorschläge.
  • Codestruktur und Anwendungsarchitektur. Je typischer Ihre Lösung ist, desto effektivere Vorschläge bietet GitHub Copilot. Dies macht sich besonders zu Beginn der Projektentwicklung bemerkbar.

Weitere Vorteile von GitHub Copilot:

  • Mit der Zeit steigt die Qualität der Codevorschläge. GitHub Copilot lernt und passt sich an die Projektstruktur, den Codestil und typische Ansätze für technische Lösungen im Projekt an.
  • Beeinflusst positiv die Arbeitszufriedenheit der Entwickler. GitHub Copilot übernimmt einen Teil routinemäßiger, typischer und langweiliger Aufgaben. Das Verhältnis zwischen der Entwicklung interessanter und routinemäßiger Aufgaben ändert sich, was den Komfort für Entwickler erhöht.

Allgemeine Teamergebnisse:

  • Das Tool zeigte keine Auswirkungen auf die Codequalität – weder positiv noch negativ. Wir glauben, dass es den Codeüberprüfungsprozess, die vom Entwickler durchgeführten manuellen Codetests, die Durchführung von Autotests, Sicherheitstests usw. vorerst nicht ersetzen kann.
  • Die Wirksamkeit hängt von der Kompetenz des Entwicklers im jeweiligen Tech-Stack ab. Je besser die Fähigkeiten des Entwicklers sind, desto effektiver erweist sich dieses Tool.
  • Der Wert von GitHub Copilot für das Erlernen neuer Technologien ist sehr zweifelhaft.
  • Das Team kam zu dem Schluss, dass Codevorschläge besser werden, wenn alle codebezogenen Dateien in der IDE geöffnet sind.
  • Wie jedes andere Tool erfordert GitHub Copilot bestimmte Fähigkeiten. Je mehr das Team übte, desto mehr positive Rückmeldungen gab es.
  • Das Feedback zur Leistungssteigerung variiert je nach Tech-Stack, Kompetenzniveau des Spezialisten und subjektiven Gründen.


5–10 % der durchschnittlichen Produktivitätssteigerung der Teammitglieder. - ELEKS Forschungs- und Entwicklungsteam


Nebenbei bemerkt, während des Projekts stieß das Team auf mehrere Fehler in GitHub Copilot. Copilot hat beispielsweise Codevorschläge vorgeschlagen, die auf dem Code eines anderen Projekts basieren, das in einem anderen IDE-Fenster geöffnet ist. Es bot syntaktisch falschen Code. Copilot steht im Widerspruch zu den Funktionen einiger Plugins (integriert oder von Drittanbietern hinzugefügt), die auch über eine Funktion zur automatischen Codevervollständigung verfügen.

Schlussfolgerungen

GitHub Copilot ist ein leistungsstarkes Tool, das sich positiv auf die Entwicklungsgeschwindigkeit und die Arbeitszufriedenheit der Entwickler auswirkt. Wie bei jedem anderen Entwicklungstool erfordert es Zeit, es zu beherrschen.


Zu diesem Zeitpunkt kostet eine einzelne Monatslizenz nur 10 US-Dollar, während der Businessplan 19 US-Dollar pro Monat kostet. Der Einsatz von GitHub Copilot in Projekten wird zweifellos finanziell vorteilhaft sein, insbesondere für Spezialisten mit mittlerem und höherem Kompetenzniveau.


Das Team prognostiziert, dass mit zunehmender Erfahrung mit GitHub Copilot die Entwicklungsgeschwindigkeit je nach Beliebtheit der Technologie und Kompetenzniveau des Entwicklers um 5–25 % steigen kann. Es ist garantiert, dass GitHub Copilot die Entwicklung nicht verlangsamt, da Entwickler nach und nach das Fachwissen und Verständnis dafür erlangen, wann es sinnvoll ist, das Tool zu verwenden und wann nicht.


Zusammenfassend lässt sich sagen, dass der Einfluss von KI auf die Softwareentwicklung, der durch Tools wie GitHub Copilot veranschaulicht wird, unbestreitbar ist. Insgesamt können Tools wie GitHub Copilot einen Entwickler nicht ersetzen, sondern dienen als wertvolle Tools zur Verbesserung des Entwicklerkomforts und der Produktivität und tragen zur Weiterentwicklung der Softwareentwicklung in einer zunehmend KI-gesteuerten Welt bei.


Erschließen Sie den Weg zu einem effizienten Softwareentwicklungsprozess und erfolgreichen Ergebnissen, wenden Sie sich an die Experten von ELEKS .


Auch hier veröffentlicht.