Le rôle des extraits de code dans les revues de code
Examiner l'impact des extraits de code sur les retours en développement logiciel.
― 8 min lire
Table des matières
La Revue de code est une étape importante pour améliorer les logiciels. Pendant ce processus, les Développeurs examinent le code des autres pour déceler des problèmes et améliorer la qualité. Une façon courante de partager des retours est d'utiliser des Extraits de code, qui sont de petites sections de code permettant d'expliquer des Suggestions. Cependant, il n'y a pas eu beaucoup de recherches sur la fréquence d'utilisation des extraits de code lors des revues, les raisons pour lesquelles ils sont suggérés et la façon dont les développeurs y réagissent.
Cette étude vise à combler ce manque en examinant de près l'utilisation des extraits de code dans les revues de code, en se concentrant sur leur utilisation dans des communautés de logiciels populaires. En recueillant des données et des opinions de développeurs dans des situations réelles, nous espérons fournir une image plus claire du rôle que jouent les extraits de code dans le processus de revue de code.
Revue de Code dans le Développement de Logiciels
La revue de code est une pratique où les développeurs vérifient le code des autres pour s'assurer qu'il respecte les normes de qualité. C'est une partie essentielle du développement de logiciels, aidant les équipes à repérer les problèmes tôt et à maintenir un code de haute qualité. Ces dernières années, cette pratique a évolué, devenant plus informelle et se faisant souvent en ligne. Les réviseurs et les développeurs discutent des changements suggérés de manière asynchrone, ce qui permet une communication flexible.
Dans ce processus, comprendre les commentaires dans les revues de code est crucial. Lorsque les développeurs soumettent des modifications, ils veulent des retours sur d'éventuelles erreurs ou s'ils ont respecté les directives de codage. Les extraits de code peuvent servir d'outil utile pour les réviseurs afin de fournir des exemples spécifiques ou de mettre en avant des problèmes dans le code du développeur.
Extraits de Code dans les Revues
Les extraits de code sont de brèves portions de code incluses dans les commentaires de retour. Ils aident à illustrer les points des réviseurs de manière claire. Par exemple, un réviseur pourrait utiliser un extrait de code pour suggérer une meilleure façon d'écrire une fonction ou pour signaler une erreur de logique. Malgré leur utilité, peu de recherches ont été menées sur comment et quand utiliser efficacement les extraits de code dans les revues.
Pour en savoir plus, nous avons cherché à enquêter sur leur fréquence, les buts qu'ils servent et comment les développeurs y réagissent.
Approche de Recherche
Notre étude s’est déroulée en deux phases : l'extraction de données à partir de revues de code dans des communautés de logiciels populaires et une enquête en ligne auprès de développeurs issus de divers horizons.
Phase 1 : Collecte de Données
Nous avons collecté des données de deux grandes communautés de logiciels : OpenStack et Qt. Ces communautés ont été choisies parce qu'elles ont un grand nombre de projets actifs et investissent beaucoup dans les pratiques de revue de code. En rassemblant des commentaires de ces projets, nous avons voulu analyser à quelle fréquence les extraits de code sont utilisés et quel rôle ils jouent dans les retours.
Nous avons examiné un total de 69 604 commentaires et identifié ceux qui contenaient des extraits de code. Nous avons comptabilisé 3 213 commentaires avec extraits. Cela nous a permis d'analyser de près la fréquence d'utilisation des extraits par les réviseurs, les objectifs derrière leurs suggestions et comment les développeurs réagissent à ces suggestions.
Phase 2 : Enquête auprès des Développeurs
Dans la deuxième partie de notre étude, nous avons sondé des développeurs ayant de l'expérience dans les revues de code pour recueillir leurs perspectives sur l'utilisation des extraits de code. L'enquête posait des questions sur leurs expériences, préférences et attitudes envers les extraits de code dans les revues. Nous avons reçu des réponses de 63 participants, ce qui nous a permis d'analyser les vues de la communauté des développeurs au sens large.
Principales Conclusions
Fréquence d'Utilisation des Extraits de Code
L'une des principales découvertes de notre extraction de données était que les extraits de code n'apparaissent pas fréquemment dans les revues de code. Sur 69 604 commentaires, seulement 4,6 % contenaient des extraits, ce qui montre que leur utilisation est limitée. La plupart des extraits ont été fournis par les réviseurs plutôt que par les développeurs. En fait, plus de 85 % des commentaires avec extraits provenaient de réviseurs.
Objectifs de Fournir des Extraits de Code
Nous avons constaté que les réviseurs utilisent les extraits de code principalement pour faire des suggestions. Plus précisément, nous avons identifié deux catégories principales pour l'utilisation des extraits : suggestions et citations.
Suggestions : Cela fait référence aux cas où les réviseurs fournissent des extraits pour recommander des changements ou des améliorations au code. Dans cette catégorie, plusieurs objectifs détaillés ont été notés :
- Améliorer l'implémentation du code pour une meilleure qualité
- Suivre le style de code pour assurer la cohérence
- Corriger le code comportant des erreurs
- Compléter les parties incomplètes du code
Citations : Cela se produit lorsque les réviseurs utilisent des extraits simplement pour fournir un contexte ou expliquer quelque chose de plus en détail, sans suggérer de changements spécifiques. C'est moins courant que les suggestions.
Dans l'ensemble, plus de 83 % des commentaires avec extraits visaient à suggérer des améliorations, montrant que les réviseurs trouvent les extraits précieux pour faire des recommandations spécifiques.
Acceptation des Suggestions par les Développeurs
La plupart des développeurs sont généralement réceptifs aux suggestions d'extraits de code. Nos résultats ont indiqué que 62,1 % de ces suggestions ont été acceptées. Cela montre que les extraits peuvent efficacement communiquer des recommandations et faciliter les améliorations de la qualité du code.
Cependant, certaines suggestions n'ont pas été acceptées pour diverses raisons. La raison la plus courante était une différence d'opinion entre le développeur et le réviseur. Une autre raison était que la suggestion était erronée ou inapplicable au contexte spécifique du code.
Scénarios d'Utilisation des Extraits de Code
Les développeurs ont partagé divers scénarios dans lesquels ils trouvent les extraits de code particulièrement utiles lors des revues. Beaucoup de participants ont noté que les extraits sont particulièrement utiles lorsque :
- Le code lui-même illustre un point mieux que des mots seuls.
- Le code existant a des problèmes ou des améliorations à apporter.
- Un exemple standard est nécessaire pour guider le développeur.
Ce retour renforce que les extraits de code peuvent améliorer la clarté et optimiser le processus de revue de code, surtout lorsque des changements complexes sont impliqués.
Attitudes des Développeurs Envers les Extraits de Code
Les résultats de l'enquête ont montré que la plupart des développeurs (73,0 %) ont une attitude positive envers les extraits de code dans les commentaires de revue. Ils les trouvent souvent bénéfiques et aident à mieux comprendre les suggestions. Certains développeurs ont souligné que les extraits améliorent la communication lors des revues en rendant les suggestions plus claires.
Conclusion
Cette étude met en lumière l'importance des extraits de code dans le processus de revue de code. Bien qu'ils ne soient pas largement utilisés, leur efficacité pour transmettre des retours et des suggestions spécifiques ne peut être ignorée. Les réviseurs fournissent principalement des extraits pour suggérer des améliorations, que les développeurs acceptent souvent. De plus, les attitudes positives envers les extraits suggèrent que, lorsqu'ils sont utilisés correctement, ils peuvent améliorer la communication et la qualité globale du code.
Les futures recherches devraient continuer à explorer le rôle et l'efficacité des extraits de code, en particulier dans des environnements de développement logiciel diversifiés. En explorant davantage comment les développeurs peuvent utiliser au mieux les extraits de code, nous pouvons aider à créer des processus de revue de code plus efficaces qui aboutissent finalement à des logiciels de meilleure qualité.
En résumé, les extraits de code servent d'outil utile pour les développeurs lors de la révision des modifications de code. Comprendre comment et quand les utiliser efficacement peut améliorer la communication, encourager la collaboration et améliorer la qualité du développement logiciel.
Titre: Demystifying Code Snippets in Code Reviews: A Study of the OpenStack and Qt Communities and A Practitioner Survey
Résumé: Code review is widely known as one of the best practices for software quality assurance in software development. In a typical code review process, reviewers check the code committed by developers to ensure the quality of the code, during which reviewers and developers would communicate with each other in review comments to exchange necessary information. As a result, understanding the information in review comments is a prerequisite for reviewers and developers to conduct an effective code review. Code snippet, as a special form of code, can be used to convey necessary information in code reviews. For example, reviewers can use code snippets to make suggestions or elaborate their ideas to meet developers' information needs in code reviews. However, little research has focused on the practices of providing code snippets in code reviews. To bridge this gap, we conduct a mixed-methods study to mine information and knowledge related to code snippets in code reviews, which can help practitioners and researchers get a better understanding about using code snippets in code review. Specifically, our study includes two phases: mining code review data and conducting practitioners' survey. The study results highlight that reviewers can provide code snippets in appropriate scenarios to meet developers' specific information needs in code reviews, which will facilitate and accelerate the code review process.
Auteurs: Beiqi Zhang, Liming Fu, Peng Liang, Jiaxin Yu, Chong Wang
Dernière mise à jour: 2024-04-04 00:00:00
Langue: English
Source URL: https://arxiv.org/abs/2307.14406
Source PDF: https://arxiv.org/pdf/2307.14406
Licence: https://creativecommons.org/licenses/by/4.0/
Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.
Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.
Liens de référence
- https://alturl.com/uonk3
- https://alturl.com/yz9ya
- https://alturl.com/am3q9
- https://alturl.com/jis7g
- https://alturl.com/4gcs7
- https://alturl.com/uwr3h
- https://alturl.com/rfz6y
- https://alturl.com/oq69p
- https://alturl.com/urdmh
- https://alturl.com/4c63s
- https://alturl.com/qt62k
- https://alturl.com/3h8iq
- https://alturl.com/8rzjs
- https://alturl.com/hb2m6
- https://alturl.com/6kb4v
- https://alturl.com/qnnou
- https://alturl.com/cbrvr
- https://alturl.com/gu5cn
- https://www.openstack.org/
- https://wiki.openstack.org/wiki/Nova
- https://wiki.openstack.org/wiki/Neutron
- https://www.qt.io/
- https://github.com/qt/qtbase
- https://www.qt.io/product/development-tools
- https://www.gerritcodereview.com
- https://www.gerritcodereview.com/
- https://alturl.com/9gnck
- https://alturl.com/e2ib3
- https://guesslang.readthedocs.io/
- https://alturl.com/n9zbr
- https://alturl.com/hroeq
- https://alturl.com/vpw3e
- https://alturl.com/wef4g
- https://alturl.com/n9rgs
- https://alturl.com/aybty
- https://alturl.com/fgvm3
- https://alturl.com/cxkxo
- https://alturl.com/bzd3y
- https://alturl.com/uoqz5
- https://alturl.com/v7y5p
- https://alturl.com/5h74j
- https://forms.gle/7eKfjhzHtnBXhEMJ7