Plus d’un million de développeurs utilisent quotidiennement Copilot, le générateur de code développé par GitHub avec l’aide d’OpenAI. Et, selon Thomas Dohmke, PDG de GitHub, l’assistant permet aux développeurs d'accomplir leurs tâches 55% plus rapidement. Plus intéressant encore, selon lui, 46% du code a été complété par GitHub Copilot dans les fichiers où il a été activé. Mais qu’est-ce que cela implique pour la qualité du code ?
Pour répondre à cette question, la société d’analyse statistique GitClear a mené une étude approfondie, portant sur environ 153 millions de lignes de code modifiées entre janvier 2020 et décembre 2023. L’objectif ? Évaluer les variations de qualité du code entre les contributions de l'IA et celles des développeurs web professionnels. Et les résultats de cette étude méritent qu’on se penche dessus.
Le bon et le mauvais code
Tout d’abord, l'étude de GitClear révèle,depuis 2020, une augmentation significative du taux de churn, c'est-à-dire le pourcentage de code ajouté à un dépôt puis retiré, supprimé ou modifié dans les deux semaines suivantes. En 2022, année marquée par le lancement de GitHub Copilot et de ChatGPT, l'étude note une hausse de 9% de ce taux sur l'échantillon étudié, indiquant une augmentation de la production de « code erroné ». Avant l'apparition de ces outils, le taux de churn se situait entre 3 et 4%, mais il se situe maintenant autour de 7%.
Par ailleurs, GitClear a constaté une croissance du pourcentage de lignes de code dupliquées par copier-coller, passant de 8,3% en 2020 à 11,6% en 2024. La firme d'analyse souligne que le copier-coller est particulièrement préjudiciable à la maintenabilité du code sur le long terme. L'étude suggère que les assistants de codage basés sur l'IA encouragent les développeurs à insérer de nouvelles lignes de code plutôt qu'à réutiliser du code existant, qui est souvent plus stable, manipulé par d'autres et accompagné de documentation. GitClear exprime sa préoccupation quant à la possibilité que le copier-coller représente entre 20 et 25% de toutes les opérations de codage en 2024. Quand l’assistant prend la place du développeur…
Les cadences infernales
GitClear a aussi analysé la qualité du code dans l'échantillon étudié, en se concentrant sur le temps écoulé entre la rédaction du code et sa mise à jour ou suppression. Les résultats de cette évaluation invitent ainsi à la réflexion. Car, selon GitClear, il y a eu une augmentation d'environ 10% des lignes de code remplacées en moins de deux semaines. En revanche, les lignes de code rédigées il y a plus d'un an semblent moins susceptibles d'être modifiées en 2024 par rapport à 2020.
Cela met en lumière un problème potentiel avec l'utilisation des assistants de codage. Bien qu'ils puissent augmenter la productivité, leur fiabilité et leur durabilité ne sont pas garanties. GitClear exprime des préoccupations quant à la popularisation de ces outils, surtout parmi les développeurs moins expérimentés qui pourraient les utiliser sans évaluer adéquatement la pertinence de leurs suggestions. Face à un flot constant de suggestions qui paraissent fonctionner à court terme, les développeurs pourraient ainsi être tentés d'ajouter plus de lignes de code sans vérifier si un système existant pourrait être réutilisé.
Malgré des progrès significatifs en un peu plus d’un an, l’IA n’est toujours pas assez fiable pour générer du code sans validation et modification humaine. Alors, pour reprendre la main sur les générateurs de code, le mieux reste de comprendre leur fonctionnement en se formant au Développement Web. Pour cela, rien de plus simple, suivez l’un de nos bootcamps (en Javascript ou en PHP) ou en alternance (en Javascript ou Java Angular) et étudiez auprès des professionnels du secteur !