Le code généré par l'IA accélère le cauchemar de la montagne de merde de code ?

Aujourd’hui, de nombreux programmeurs choisissent d’utiliser l’IA pour faciliter la programmation, mais avec la popularité rapide du développement de logiciels d’IA, les préoccupations concernant la qualité du code sont devenues de plus en plus importantes. Adam Tornhill, qui s'intéresse depuis longtemps à la recherche sur le code, a déclaré un jour que le principal défi auquel est confrontée la programmation assistée par l'IA est qu'elle peut facilement générer une grande quantité de code qui n'a pas besoin d'être écrit.

Selon les dernières recherches, les résultats sont effectivement inquiétants. Outre le problème de la suppression des codes après des modifications répétées, la proportion de codes en double devient également de plus en plus grave.

Depuis le lancement de sa version bêta, GitHub Copilot a rapidement pris d'assaut le domaine du codage de l'IA. Selon Thomas Dohmke, PDG de l'entreprise, le logiciel a attiré plus d'un million de développeurs payants, augmentant ainsi la vitesse des tâches de développement de 55 %. De plus, 46 % du volume de code dans les fichiers compatibles Copilot est généré par l’intelligence artificielle.

Selon une étude menée par la société d'analyse des développeurs GitClear, après avoir collecté des données sur 150 millions de lignes de code modifié, il a été constaté que les deux tiers des données provenaient de données partagées de manière anonyme par des entreprises privées, tandis qu'un tiers des données provenaient de Google. Projets open source de géants de la technologie tels que Facebook et Microsoft.

La recherche se concentre sur le traitement du code qui a été modifié, mis à jour, supprimé, copié et déplacé, tout en éliminant le « bruit » prédéfini par GitClear, comme le même morceau de code soumis à plusieurs branches, des lignes vides et d'autres artefacts dénués de sens. .lignes de code.

Cependant, les recherches de GitClear se sont concentrées sur la qualité du code plutôt que sur la quantité de code, et ont révélé que l'assistant d'IA fournissait principalement des « suggestions d'ajout de code » mais fournissait rarement des suggestions de mise à jour, de déplacement ou de suppression de code.

Il n'est pas facile de mesurer avec précision la qualité du code. Les chercheurs ont effectivement découvert certaines tendances, montrant que le nombre d’ajouts, de suppressions, de mises à jour et de copier/coller de code a augmenté de manière significative, mais que la proportion de mouvements de code a diminué. Ils ont également constaté une augmentation significative des taux de duplication de codes, de 3,3 % en 2020 à 7,1 % actuellement.

De manière générale, le mouvement du code est un critère important pour les développeurs lors de la refactorisation du code. Plus précisément, il est nécessaire de garantir que la fonctionnalité d’origine ne soit pas modifiée tout en améliorant la conception et la structure du code.

Les chercheurs pensent à titre préliminaire que cette tendance pourrait être liée à la popularité rapide de la technologie de codage de l’IA, mais les raisons spécifiques nécessitent encore une vérification plus approfondie. Ils ont sévèrement critiqué les effets négatifs d’une utilisation excessive du code copié/collé, déclarant : « Cette utilisation inconsidérée du code généré par l’IA aura un impact désastreux sur la maintenabilité à long terme du code. »

Cependant, le recours excessif au copier-coller n’est pas un problème nouveau. Les développeurs peuvent procéder ainsi car il est plus rapide et plus facile de simplement copier et coller sans avoir à ajuster et réutiliser le code existant. Cela peut également être dû à une mauvaise communication entre plusieurs développeurs ou à un plagiat excessif provenant d'exemples de développement et de sites Web de questions-réponses sur le codage.

Les chercheurs de GitClear n'ont pas discuté spécifiquement de la manière de résoudre les problèmes qu'ils ont découverts, mais se sont plutôt tournés vers des « questions de recherche de suivi ». Cependant, ils suggèrent également que les responsables de l'ingénierie « surveillent les données soumises et considèrent leur impact sur la maintenance future des produits ».

La recherche pourrait contribuer dans une certaine mesure à apaiser les développeurs inquiets d’être remplacés par des outils d’intelligence artificielle. Une étude récente sur la refactorisation du code de l’IA menée par la société d’analyse de code CodeScene a également conclu que « l’intelligence artificielle est loin de pouvoir remplacer les humains dans les environnements de codage ».

Mais ce qui est sûr, c’est que l’assistant de codage IA ne disparaîtra jamais : au contraire, comme tous les nouveaux outils, il continuera à être amélioré et les développeurs apprendront à optimiser ses idées et à améliorer son efficacité. En fait, les développeurs d’aujourd’hui commencent à prendre conscience de l’importance de la qualité du code. Selon un rapport d'enquête de GitHub et Wakefield Research, parmi les programmeurs interrogés, à la question "Quelles métriques doivent être évaluées en fonction de l'utilisation active de l'intelligence artificielle ?", la "qualité du code" a été considérée comme la question la plus importante.

Des recherches récentes montrent que l’impact négatif de la qualité du code sur les entreprises ne peut être ignoré. Selon ces études, les développeurs d'une entreprise perdent en moyenne 23 à 42 % de leur temps en raison d'une dette technique et d'un code médiocre. Ce résultat suffit à attirer notre attention. De plus, les recherches sur les pertes de productivité chez les développeurs de logiciels dues à la dette technique soulignent que les développeurs doivent souvent introduire de nouvelles dettes techniques parce que les entreprises ont sacrifié la qualité du code pour des gains à court terme tels que de nouvelles fonctionnalités.

Par conséquent, améliorez la lisibilité et la maintenabilité du code, concentrez-vous sur la robustesse et l'optimisation des performances du code et assurez la sécurité du code. La conformité du code aux normes et aux meilleures pratiques telles que les conventions de dénomination, les conventions d'annotation et le style de code unifié restent des problèmes que les développeurs doivent surmonter. Afin de répondre à ces exigences, les développeurs doivent posséder de solides compétences en codage, un bon esprit de travail d'équipe et utiliser le bon assistant de codage IA pour les aider à obtenir efficacement une sortie de code de haute qualité.

Prenons l'exemple de FuncGPT (Hui Function) lancé par Feisuan. Il intègre des années de programmation de Big Data sur site et subit des millions de lignes de formation au code pour aider les développeurs à générer des fonctions de haute qualité et de haute qualité en temps réel grâce au langage naturel. Code de fonction Java lisible. Le code généré peut être copié directement dans IDEA. En termes de qualité du code, parce que FuncGPT (Hui Function) possède de puissantes capacités de traitement du langage naturel, il peut comprendre avec précision les descriptions et les exigences des utilisateurs en matière de fonctions, réduisant ainsi les coûts de communication de développement et les difficultés de compréhension. dans le codage et la formation conjointe de machines à grande échelle réduisent les bogues causés par la négligence humaine et les erreurs grammaticales, de sorte que la qualité du code généré est garantie. Plusieurs tests internes ont montré que par rapport aux grands modèles tels que ChatGPT sur le marché, le code généré par FuncGPT (FuncGPT) est de meilleure qualité et est plus facile à utiliser directement pour les développeurs.

À l'heure actuelle, il est compréhensible que les entreprises introduisent des outils auxiliaires d'intelligence artificielle pour parvenir à « une réduction des coûts et une augmentation de l'efficacité », mais nous devons les utiliser avec précaution pour tirer pleinement parti des avantages et éviter les inconvénients. Permettre à la programmation assistée par l’IA de mieux aider les développeurs nécessite les efforts conjoints de toutes les parties.

Google a fait don d'un million de dollars à la Fondation Rust pour améliorer l'interopérabilité entre Rust et C++. Le projet de moteur web "Servo", abandonné par Mozilla, renaîtra en 2024. Le père du langage Go résume les facteurs de succès : la mascotte est indispensable jQuery 4.0 .0 bêta publié quotidiennement en open source : "Petit mais beau" Tauri a pris en charge Android et iOS ; le Pkl open source d'Apple Google Bard a été renommé Gemini, l'APP indépendante gratuite Vite 5.1 a été officiellement publiée, un système de galerie d'outils de construction frontale PicHome 2.0.1 a publié l'ensemble d'outils Java Hutool-5.8.26, je vous souhaite tout le meilleur. Le grand modèle open source MaLA-500 est publié, prenant en charge 534 langues.
{{o.name}}
{{m.nom}}

Je suppose que tu aimes

Origine my.oschina.net/u/4868096/blog/11013335
conseillé
Classement