Heutzutage entscheiden sich viele Programmierer für den Einsatz von KI zur Unterstützung der Programmierung, aber mit der rasanten Beliebtheit der KI-Softwareentwicklung sind Bedenken hinsichtlich der Codequalität immer stärker in den Vordergrund gerückt. Adam Tornhill, der sich seit langem mit Code-Forschung beschäftigt, sagte einmal, dass die größte Herausforderung bei der KI-gestützten Programmierung darin besteht, dass sie problemlos eine große Menge Code generieren kann, der nicht geschrieben werden muss.
Nach neuesten Forschungsergebnissen sind die Ergebnisse tatsächlich besorgniserregend. Neben der Problematik, dass Codes nach wiederholten Änderungen gelöscht werden, nimmt auch der Anteil doppelter Codes immer gravierender zu.
Seit der Veröffentlichung seiner Beta-Version hat GitHub Copilot den Bereich der KI-Codierung schnell im Sturm erobert. Nach Angaben des CEO des Unternehmens, Thomas Dohmke, hat die Software mehr als eine Million zahlender Abonnemententwickler angezogen und die Geschwindigkeit der Entwicklungsaufgaben effektiv um 55 % erhöht. Darüber hinaus werden 46 % des Codevolumens in Copilot-fähigen Dateien durch künstliche Intelligenz generiert.
Laut einer Untersuchung des Entwickleranalyseunternehmens GitClear wurde nach dem Sammeln von Daten zu 150 Millionen Zeilen geändertem Code festgestellt, dass zwei Drittel der Daten aus Daten stammten, die anonym von privaten Unternehmen weitergegeben wurden, während ein Drittel der Daten von Google stammte. Open-Source-Projekte von Technologiegiganten wie Facebook und Microsoft.
Die Forschung konzentriert sich auf die Verarbeitung von Code, der geändert, aktualisiert, gelöscht, kopiert und verschoben wurde, und eliminiert gleichzeitig das von GitClear vordefinierte „Rauschen“, wie z. B. die Übermittlung desselben Codeabschnitts an mehrere Zweige, Leerzeilen und andere bedeutungslose Artefakte . Zeilen von Code.
Die Forschung von GitClear konzentrierte sich jedoch eher auf die Qualität des Codes als auf die Quantität des Codes und stellte fest, dass der KI-Assistent hauptsächlich „Vorschläge zum Hinzufügen von Code“ lieferte, jedoch selten Vorschläge zur Codeaktualisierung, -verschiebung oder -löschung.
Es ist nicht einfach, die Codequalität genau zu messen. Die Forscher stellten zwar einige Trends fest, die zeigten, dass die Menge an Hinzufügungen, Löschungen, Aktualisierungen und dem Kopieren/Einfügen von Code deutlich zunahm, der Anteil der Codebewegungen jedoch abnahm. Sie stellten auch einen deutlichen Anstieg der Codeduplikationsraten fest, von 3,3 % im Jahr 2020 auf derzeit 7,1 %.
Generell ist die Codeverschiebung ein wichtiges Kriterium für Entwickler beim Refactoring von Code. Insbesondere muss sichergestellt werden, dass die ursprüngliche Funktionalität nicht verändert wird, während gleichzeitig das Codedesign und die Codestruktur verbessert werden.
Forscher gehen vorläufig davon aus, dass dieser Trend mit der raschen Beliebtheit der KI-Codierungstechnologie zusammenhängt, die konkreten Gründe müssen jedoch noch weiter überprüft werden. Sie kritisierten scharf die negativen Auswirkungen des übermäßigen Einsatzes von Copy/Paste-Code und erklärten: „Dieser gedankenlose Einsatz von KI-generiertem Code wird katastrophale Auswirkungen auf die langfristige Wartbarkeit des Codes haben.“
Allerdings ist die übermäßige Abhängigkeit vom Kopieren und Einfügen kein neues Problem. Entwickler können dies tun, weil es schneller und einfacher ist, einfach zu kopieren und einzufügen, ohne vorhandenen Code anpassen und wiederverwenden zu müssen. Oder es könnte an einer Fehlkommunikation zwischen mehreren Entwicklern oder übermäßigem Plagiat bei Entwicklungsbeispielen und Codierungs-Q&A-Websites liegen.
GitClear- Forscher diskutierten nicht konkret, wie die gefundenen Probleme gelöst werden könnten, sondern wandten sich stattdessen „weiterführenden Forschungsfragen“ zu. Sie schlagen jedoch auch vor, dass technische Führungskräfte „die übermittelten Daten überwachen und deren Auswirkungen auf die zukünftige Produktwartung berücksichtigen sollten“.
Die Forschung könnte dazu beitragen, Entwickler zu beruhigen, die befürchten, durch Tools der künstlichen Intelligenz ersetzt zu werden. Eine kürzlich vom Codeanalyseunternehmen CodeScene durchgeführte Studie zum Refactoring von KI-Code kam ebenfalls zu dem Schluss, dass „künstliche Intelligenz bei weitem nicht in der Lage ist, Menschen in Codierungsumgebungen zu ersetzen.“
Sicher ist jedoch, dass der KI-Codierungsassistent niemals verschwinden wird. Im Gegenteil, er wird wie alle neuen Tools weiter verbessert und Entwickler werden lernen, seine Ideen zu optimieren und seine Wirksamkeit zu verbessern. Tatsächlich haben die heutigen Entwickler begonnen, die Bedeutung der Codequalität zu erkennen. Laut einem Umfragebericht von GitHub und Wakefield Research wurde unter den befragten Programmierern auf die Frage „Nach welchen Metriken sollte beim aktiven Einsatz künstlicher Intelligenz ausgewertet werden?“ die „Codequalität“ als die wichtigste Frage angesehen.
Aktuelle Untersuchungen zeigen, dass die negativen Auswirkungen der Codequalität auf das Geschäft nicht ignoriert werden können. Diesen Studien zufolge verschwenden die Entwickler eines Unternehmens typischerweise durchschnittlich 23 bis 42 % ihrer Zeit aufgrund technischer Schulden und schlechtem Code. Dieses Ergebnis reicht aus, um unsere Aufmerksamkeit zu erregen. Untersuchungen zu Produktivitätsverlusten bei Softwareentwicklern aufgrund technischer Schulden zeigen außerdem, dass Entwickler häufig neue technische Schulden einführen müssen, weil Unternehmen die Codequalität für kurzfristige Gewinne wie neue Funktionen geopfert haben.
Verbessern Sie daher die Lesbarkeit und Wartbarkeit des Codes, konzentrieren Sie sich auf die Robustheit und Leistungsoptimierung des Codes und stellen Sie die Sicherheit des Codes sicher. Die Code-Konformität mit Normen und Best Practices wie Namenskonventionen, Anmerkungskonventionen und einem einheitlichen Codestil sind immer noch Probleme, die Entwickler überwinden müssen. Um diese Anforderungen zu erfüllen, müssen Entwickler über solide Programmierkenntnisse und einen guten Teamgeist verfügen und den richtigen KI-Codierungsassistenten verwenden, um effizient eine qualitativ hochwertige Codeausgabe zu erzielen.
Nehmen Sie als Beispiel FuncGPT (Hui Function), das von Feisuan eingeführt wurde. Es integriert jahrelange Programmierung von Big Data vor Ort und durchläuft Millionen von Codezeilen, um Entwicklern dabei zu helfen, mithilfe natürlicher Sprache hochwertige Funktionen in Echtzeit zu generieren. Lesbarer Java-Funktionscode. Der generierte Code kann direkt nach IDEA kopiert werden. In Bezug auf die Codequalität kann FuncGPT (Hui Function) aufgrund der leistungsstarken Funktionen zur Verarbeitung natürlicher Sprache die Beschreibungen und Anforderungen der Benutzer an Funktionen genau verstehen und so die Kommunikationskosten bei der Entwicklung und die Schwierigkeit des Verständnisses reduzieren Beim Codieren und groß angelegten maschinellen gemeinsamen Training werden durch menschliche Fahrlässigkeit und Grammatikfehler verursachte Fehler reduziert, sodass die Qualität des generierten Codes gewährleistet ist. Mehrere interne Tests haben gezeigt, dass der von FuncGPT (FuncGPT) generierte Code im Vergleich zu großen Modellen wie ChatGPT auf dem Markt von höherer Qualität ist und für Entwickler einfacher direkt zu verwenden ist.
Derzeit ist es für Unternehmen verständlich, Hilfstools für künstliche Intelligenz einzuführen, um „Kostensenkung und Effizienzsteigerung“ zu erreichen. Wir müssen sie jedoch sorgfältig einsetzen, um die Vorteile voll auszuschöpfen und Nachteile zu vermeiden. Damit die KI-gestützte Programmierung Entwicklern besser helfen kann, sind gemeinsame Anstrengungen aller Beteiligten erforderlich.
Google spendete 1 Million US-Dollar an die Rust Foundation, um die Interoperabilität zwischen Rust und C++ zu verbessern. Das von Mozilla aufgegebene Web-Engine-Projekt „Servo“ wird 2024 wiedergeboren. Der Vater der Go-Sprache fasst die Erfolgsfaktoren zusammen: das Maskottchen Unverzichtbar ist jQuery 4.0.0 Beta täglich veröffentlicht Open Source: „Klein aber fein“ Tauri unterstützt Android und iOS; Apples Open Source Pkl Google Bard wurde in Gemini umbenannt, die kostenlose unabhängige APP Vite 5.1 wurde offiziell veröffentlicht, Front-End-Konstruktionstool- Galeriesystem PicHome 2.0.1 veröffentlicht Java-Tool-Set Hutool-5.8.26 ist veröffentlicht, ich wünsche Ihnen alles Gute. Das große Open-Source-Modell MaLA-500 wird veröffentlicht, das 534 Sprachen unterstützt.