IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Un code open source comportant des jurons dans les commentaires est statistiquement meilleur qu'un code sans jurons,
Selon une étude

Le , par Bill Fassinou

16PARTAGES

9  1 
Jan Strehmel, étudiant au département d'informatique de l'Institut d'informatique théorique (ITI) à l'Institut de technologie de Karlsruhe, en Allemagne, a présenté au début du mois une thèse de licence avec une conclusion bien particulière : « la qualité d'un code source comportant des jurons dans les commentaires est supérieure à celle d'un code source qui en est dépourvu ». L'étude relance un débat de longue date qui divise la communauté informatique. Certains suggèrent que cette pratique est un indicateur de l'état ou sur l'environnement du développeur, mais d'autres pensent qu'il s'agit de mots inoffensifs exprimant la satisfaction d'un développeur face à sa créativité.

Une bonne partie de la communauté considère les jurons (expressions grossières) comme un signe vulgaire de manque d'intelligence et d'éducation, car pourquoi utiliser un langage grossier quand on dispose d'un riche vocabulaire ? Mais certains experts affirment que les avantages des jurons sont nombreux. « Les avantages du juron ne sont apparus qu'au cours des deux dernières décennies, à la suite de nombreuses recherches sur le cerveau et les émotions, ainsi qu'à une bien meilleure technologie pour étudier l'anatomie du cerveau », a déclaré Timothy Jay, professeur émérite de psychologie au Massachusetts College of Liberal Arts, aux États-Unis.

Jan Strehmel s'est récemment intéressé à l'impact des jurons sur la qualité du code produit par les développeurs qui en font usage dans leurs commentaires. Dans le cadre de son étude, il a parcouru et analysé plus de 3800 codes sources ouverts contenant des jurons en anglais et plus de 7600 codes sources ouverts ne contenant pas de jurons sur GitHub. Ensuite, Strehmel et son équipe ont quantifié la conformité de ces deux ensembles distincts de codes sources ouverts aux normes de codage. Les résultats ont été présentés comme un proxy pour la qualité du code source via l'outil SoftWipe. L'étude s'est basée uniquement sur le code source écrit en C.



« Nous constatons que les codes sources ouverts contenant des jurons présentent une qualité de code significativement meilleure que ceux qui n'en contiennent pas, selon plusieurs tests statistiques. Nous supposons que l'utilisation de jurons constitue un indicateur d'une implication émotionnelle profonde du programmeur avec le code et ses complexités inhérentes, produisant ainsi un meilleur code basé sur un processus d'analyse de code complet, critique et dialectique », indique le rapport de l'étude. Toutefois, l'équipe insiste sur le fait que cette étude est une étude d'observation, car elle ne contrôle aucun des deux groupes de développeurs.

« Cela conduit au problème suivant : bien que nous ayons une différence statistiquement significative entre les groupes, elle pourrait être causée par d'autres facteurs sous-jacents. Il est important de noter que de petites valeurs ne garantissent pas que les résultats sont reproductibles ou que la signification statistique implique une signification pratique. Cela signifie que le fait de jurer n'améliorera pas automatiquement la qualité de votre code. Cependant, une étude a montré que le fait de jurer sur le lieu de travail permet de réduire le stress, ce qui pourrait améliorer la concentration et donc la qualité du code », explique le rapport de l'étude.

« Cela pourrait être une explication possible des résultats de l'étude », note l'équipe. À ce propos, certains experts affirment que le juron est un signe de créativité. Selon ces derniers, les jurons semblent être centrés sur le côté droit du cerveau, la partie que les scientifiques appellent souvent le "cerveau créatif". « Nous savons que les patients victimes d'un AVC du côté droit ont tendance à devenir moins émotifs, moins capables de comprendre et de raconter des blagues, et qu'ils ont tendance à arrêter de jurer, même s'ils juraient beaucoup auparavant », a déclaré Emma Byrne, auteur du livre "Swearing Is Good for You".

En 2018, Adam Farley, un contributeur au projet OpenJDK, a effectué une revue de code de l’implémentation open source de la spécification Java SE et a rapporté la présence de jurons au sein du code source. Les grossièretés les plus récurrentes étaient bitc* et f*ck. Selon lui, on dénombre au minimum 12 expressions de ce type au sein de la bibliothèque open source et on peut allonger la liste si on fouille dans les dictionnaires dédiés aux phases de test de logiciels. D'autres observations au cours de ces dernières années ont également montré que les messages de commit dans les projets open source pouvaient parfois contenir des jurons.



Cependant, selon des critiques de l'étude du rapport de Strehmel, l'utilisation d'un tel langage dans les commentaires du code source peut être un signe d'une attitude négative ou de stress chez les développeurs. En d'autres termes, ils estiment que la qualité du code n'a pas de lien avec les jurons et que ces expressions permettent juste à un programmeur d'évacuer son stress ou un sentiment quelconque vis-à-vis de son travail. En gros, les critiques affirment que la relation entre l'utilisation de jurons et la qualité du code est complexe et n'est pas bien établie. Ils ajoutent également que l'étude de Strehmel et son équipe n'est pas représentative.

Comme indiqué plus haut, l'étude a analysé uniquement les codes sources ouverts écrits en C. Bien qu'il soit possible d'étendre l'étude aux codes sources écrits en C++ en utilisant les mêmes scripts d'exploration et d'analyse des données, l'équipe a décidé de ne pas tenir compte du code C++ par souci de simplicité et par manque de temps. Cependant, elle se dit agnostique quant à savoir si les programmeurs C++ ont la même mentalité que les programmeurs C ou s'ils sont politiquement plus corrects. Par conséquent, l'équipe reste prudente quant à la généralisation de ses résultats à la communauté des programmeurs orientés objet.

Certains suggèrent également que les jurons servent parfois de motifs de reconnaissance entre programmeurs qui se partagent leurs codes sources. Cela dit, le débat sur les avantages des jurons s'est intensifié ces dernières années et dépasse même largement le domaine du génie logiciel. En outre, d'autres militent pour la suppression des termes considérés comme des "jurons" dans les langages de programmation. Par exemple, en 2018, la communauté Python a engagé le processus de suppression des termes « master » et « slave » de sa documentation et de sa base de code pour des raisons de diversité et pour leur connotation à l’esclavage.

Source : Billet de blogue

Et vous ?

Quel est votre avis sur le sujet ?
Que pensez-vous de la conclusion de l'étude de Strehmel ?
Selon vous, l'étude est-elle représentative ? Pourquoi ?
Pensez-vous qu'il existe une corrélation entre les jurons et la qualité du code ?
Selon vous, l'utilisation de jurons dans les commentaires témoigne-t-elle de l'état d'un développeur ?
L'utilisation de jurons dans les commentaires est-elle une bonne ou une mauvaise pratique ? Pourquoi ?

Voir aussi

OpenJDK : un rapport de bogue souligne la présence d'expressions grossières au sein du code source de l'implémentation open source de Java SE

Python va supprimer les termes "master/slave" de sa documentation et sa base de code pour des raisons de diversité et leur connotation à l'esclavage

Le nombre de messages sur Twitter contenant des insultes racistes a explosé depuis qu'Elon Musk a racheté l'influente plateforme, d'après une nouvelle étude

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de 23JFK
Membre expert https://www.developpez.com
Le 13/02/2023 à 16:41
Le politiquement correct est très énergivore pour les connards qui s'y adonnent.
13  1 
Avatar de sirthie
Membre éprouvé https://www.developpez.com
Le 13/02/2023 à 11:55
Citation Envoyé par Bill Fassinou Voir le message
Un code open source comportant des jurons dans les commentaires est statistiquement meilleur qu'un code sans jurons selon une étude
Ben merde alors !
9  0 
Avatar de Fagus
Membre expert https://www.developpez.com
Le 19/02/2023 à 19:45
Fort de cette étude très intéressante, j'ai ajouté quelques jurons dans mon code pour améliorer sa qualité.

Je suis surpris, ça ne valide toujours pas les tests unitaires

9  0 
Avatar de AoCannaille
Expert confirmé https://www.developpez.com
Le 13/02/2023 à 16:56
Citation Envoyé par walfrat Voir le message
[...]Donc merci de ne pas accuser les jeunes trop rapidement.
Bien sûr, je ne faisais que souligner l'incohérence du propos d'Abriotde.

Personnellement, Je trouve que 200 occurrence d'un juron dans un code de plusieurs millions de lignes est parfaitement négligeable.

Finalement en proportion, si le code est commenté par des jurons, ça veut surtout dire qu'il est commenté, indicateur selon moi d'une recherche de qualité.
8  0 
Avatar de esperanto
Membre émérite https://www.developpez.com
Le 14/02/2023 à 16:48
Citation Envoyé par 23JFK Voir le message
Le politiquement correct est très énergivore pour les connards qui s'y adonnent.
Surtout que maintenant le politiquement correct consiste à jongler pour ne froisser ni les cathos (attention à la fonction abort par exemple) ni les woke qui veulent absolument des fonctions sans connotation homophobe, non genrées, etc.
6  0 
Avatar de binarygirl
Membre chevronné https://www.developpez.com
Le 18/02/2023 à 1:30
On peut expliquer ce constat de différentes façons:
  • pour qu'il y ait des jurons, il faut déjà qu'il y ait des commentaires
  • un code peu ou pas commenté a des chances d'être de moins bonne qualité à mon avis, et même si le code est bien fait et parle de lui-même, il est quand même bon d'expliquer ce qu'il fait, le type de données traitées et le contexte dans lequel il fonctionne
  • quant à la présence de jurons, ça peut être un moyen de se défausser: je ne suis pas fier de mon code, donc j'ai acté cela. Ceux qui liront mon commentaire comprendront que je suis un bon programmeur, je suis soucieux de la qualité en temps normal, et j'ai conscience que ce delivery n'est pas bon. Mais parfois il y a des contraintes de temps qui font qu'on a la pression de fournir un truc, même mal ficelé, quitte à l'améliorer plus tard (ce qui bien sûr n'arrive quasi jamais).
  • c'est aussi un disclaimer: on signale (même discrètement) la présence d'un vice caché, en espérant peut-être inconsciemment qu'en cas de problème cette mention atténuera notre responsabilité

Donc, de ce point de vue, ça peut être bon signe, cela révèle un certain souci de la qualité, et la frustration quand la qualité n'est pas au rendez-vous.
D'un autre côté, l'usage de certains mots est pour moi le signe d'un manque de maturité.

Néanmoins, je pense que le code libre/open source, puisque c'est de ça qu'il est question ici, ne doit pas être jugé de la même manière que le code développé sur mesure et facturé aux clients. Je n'oserais pas mettre des commentaires trop péjoratifs dans le code fourni à un client qui me paie suffisamment cher pour la prestation. Si je remets en question la qualité du delivery, il peut se demander s'il ne paie pas trop cher pour de la bouse.
Mais ceux qui utilisent du FOSS ne peuvent pas prétendre à une qualité de service. Les développeurs fournissent un produit disponible à tous à titre gracieux mais n'assument pas la responsabilité en cas de problème, et ils ne doivent rien aux utilisateurs. Ils peuvent donc se permettre plus de liberté. Y compris celle de les envoyer ch* et RTFM.
6  0 
Avatar de totozor
Membre expert https://www.developpez.com
Le 15/02/2023 à 8:04
Mon avis de base est que corrélation ne signifie pas cause/conséquences.
Un code à chier reste à chier si on y rajoute des jurons
Un code propre reste propre si on y retire les jurons présents

Mais mon chef m'a fait rire hier parce qu'il se réjoui que je soit plus vulgaire que d'habitude : "Tu évacues ta frustration, je crains moins le burn out qu'il y a quelques semaines"

Quand je revois un indicateur que j'ai fait il y a longtemps j'ajoutes régulièrement des commentaires qui peuvent aller de "cette partie n'est pas efficace, a revoir à tête reposée" à "C'est de la merde mais ça marche, attention à bien penser au cas blabla le jour où quelqu'un le revoit"
Je trouve que la vulgarité ne pose pas forcément de problème dans le monde du travail si elle est maitrisée, autant dans son intensité que dans son public. Ca dépend surtout de la méthode de communication avec laquelle on est le plus à l'aise.
4  0 
Avatar de binarygirl
Membre chevronné https://www.developpez.com
Le 25/02/2023 à 22:59
Moi j'ai déjà vu ce genre de commentaire dans du code: "bonne chance si ça marche".
Évidemment j'avais été engagée pour reprendre le travail fait par d'autres avant moi
2  0 
Avatar de AoCannaille
Expert confirmé https://www.developpez.com
Le 13/02/2023 à 14:27
Citation Envoyé par abriotde Voir le message
Je pense que c'est en partie dû au fait que les ancien programmeurs étaient des passionnés qui ne se pliaient pas trop au politiquement correct. Forcément, les jeunes programmeurs avec moins d'expérience, ont statistiquement un code de moins bonne qualité mais ils ont aussi apris à être plus poli (et sont sans doute moins passionnés qu'a l'époque ou informaticien restait un boulot dédié geek (moins démocratisé)).
On est d'accord pour dire que le graphe indique une augmentation du nombre de jurons dans les version, donc dans le temps, c'est à dire que ça implique plutôt que les nouveaux développeurs jurent plus que les anciens ?
2  1 
Avatar de electroremy
Membre éprouvé https://www.developpez.com
Le 22/02/2023 à 21:53
En fait, c'est comme dans le bricolage

Lorsque je jure en bricolant, c'est que je fait quelque chose de difficile, et donc que je suis au maximum de mes capacités...

D'ailleurs, après la fin d'un chantier en jurant, je suis souvent assez content du résultat, en mode "j'en ai bavé mais au moins c'est fait, je suis content d'avoir terminé ce truc emmerdant à faire"
1  0