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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langages de programmation Discussion :

Un code open source comportant des jurons dans les commentaires est meilleur qu'un code sans jurons


Sujet :

Langages de programmation

  1. #1
    Chroniqueur Actualités

    Homme Profil pro
    Dirigeant
    Inscrit en
    Juin 2016
    Messages
    3 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Dirigeant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2016
    Messages : 3 160
    Points : 66 259
    Points
    66 259
    Par défaut Un code open source comportant des jurons dans les commentaires est meilleur qu'un code sans jurons
    Un code open source comportant des jurons dans les commentaires est statistiquement meilleur qu'un code sans jurons
    selon une étude

    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.

    Nom : 3627f43d89ea7b79.jpg
Affichages : 27372
Taille : 37,4 Ko

    « 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.

    Nom : 4587.png
Affichages : 5494
Taille : 56,7 Ko

    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
    Contribuez au club : corrections, suggestions, critiques, ... Contactez le service news et Rédigez des actualités

  2. #2
    Membre éprouvé
    Homme Profil pro
    Intégrateur Web
    Inscrit en
    Août 2012
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Intégrateur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2012
    Messages : 263
    Points : 1 045
    Points
    1 045
    Par défaut Un code open source comportant des jurons...
    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 !

  3. #3
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    884
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juillet 2007
    Messages : 884
    Points : 2 018
    Points
    2 018
    Par défaut
    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é)).
    Tout ce que j'écris est libre de droits (Licence CC0) et je vous incite à faire de même.

  4. #4
    Expert confirmé Avatar de AoCannaille
    Inscrit en
    Juin 2009
    Messages
    1 413
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 1 413
    Points : 4 734
    Points
    4 734
    Par défaut
    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 ?

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    909
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 909
    Points : 2 818
    Points
    2 818
    Par défaut
    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 ?
    Accuser les jeunes me paraît un peu facile.

    Déjà la quantité de ligne de code du noyau Linux, comme tout ce qui a vécu longtemps, à exploser donc :
    • Le nombre de commentaire pertinent ou injurieux à forcément suivi
    • Certain recoin peuvent avoir été laissé dans un certain état, et quand d'autres sont revenu plus tard, ils ont pus laissé quelques commentaires explicatif de "this is working but this is currently crap, would need to redo refactor it"


    Ca pourrait littéralement être le développeur qui revoit un de ces vieux codes d'il y a 15ans qui a fait ce commentaire sur son propre code.

    En outre à part "crap" il semble que les jurons ont augmenté tous d'un coup pour ensuite être relativement stable.

    Donc merci de ne pas accuser les jeunes trop rapidement.

  6. #6
    Membre expert
    Profil pro
    undef
    Inscrit en
    Février 2013
    Messages
    959
    Détails du profil
    Informations personnelles :
    Localisation : France, Lot (Midi Pyrénées)

    Informations professionnelles :
    Activité : undef

    Informations forums :
    Inscription : Février 2013
    Messages : 959
    Points : 3 527
    Points
    3 527
    Par défaut
    Le politiquement correct est très énergivore pour les connards qui s'y adonnent.

  7. #7
    Expert confirmé Avatar de AoCannaille
    Inscrit en
    Juin 2009
    Messages
    1 413
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 1 413
    Points : 4 734
    Points
    4 734
    Par défaut
    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. #8
    Membre émérite
    Inscrit en
    Janvier 2006
    Messages
    722
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 722
    Points : 2 719
    Points
    2 719
    Par défaut
    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.

  9. #9
    Membre expert
    Homme Profil pro
    ingénieur qualité
    Inscrit en
    Mars 2015
    Messages
    1 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : ingénieur qualité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2015
    Messages : 1 125
    Points : 3 453
    Points
    3 453
    Par défaut
    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.

  10. #10
    Expert confirmé

    Homme Profil pro
    .
    Inscrit en
    Octobre 2019
    Messages
    1 426
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : .
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2019
    Messages : 1 426
    Points : 5 630
    Points
    5 630
    Par défaut
    quel sont les jurons mesuré ?
    parce que mettre "ce code c'est de la merde il faudra le refaire à la version 2.0 de la libcaca"
    c'est quand même différent de:
    "cette salope de fils de pute de code c'est de la puterie il faudra le refaire à la putain de version 2.0 de la libcaca"

    l'un est plus pro que l'autre, l'un est je trouve acceptable en milieu pro et lève un warning sur cette partie du code, l'autre c'est plus un défouloir.

  11. #11
    Expert éminent sénior
    Avatar de Escapetiger
    Homme Profil pro
    Administrateur système Unix - Linux
    Inscrit en
    Juillet 2012
    Messages
    1 476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur système Unix - Linux

    Informations forums :
    Inscription : Juillet 2012
    Messages : 1 476
    Points : 11 051
    Points
    11 051
    Par défaut
    Citation Envoyé par sirthie Voir le message
    Ben merde alors !


    Archéologie developpez (2011) (.com ci-après pour les contributions les plus appréciées) :

    Quels sont les commentaires fantaisistes que vous avez déjà insérés dans votre code ?
    Ou découverts dans celui d'un autre ?


    ps
    Cliquer sur commentaires (zone orange (.net) pour la chronologie du fil)
    « Developpez.com est un groupe international de bénévoles dont la motivation est l'entraide au sens large » (incl. forums developpez.net)
    Club des professionnels en informatique

  12. #12
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    721
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 721
    Points : 1 876
    Points
    1 876
    Par défaut
    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.

  13. #13
    Membre expert
    Profil pro
    programmeur du dimanche
    Inscrit en
    Novembre 2003
    Messages
    783
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : programmeur du dimanche
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2003
    Messages : 783
    Points : 3 372
    Points
    3 372
    Par défaut
    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


  14. #14
    Membre éprouvé Avatar de electroremy
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Juin 2007
    Messages
    934
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 934
    Points : 1 274
    Points
    1 274
    Par défaut
    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"
    Quand deux personnes échangent un euro, chacun repart avec un euro.
    Quand deux personnes échangent une idée, chacun repart avec deux idées.

  15. #15
    Membre éclairé

    Inscrit en
    Novembre 2008
    Messages
    418
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 418
    Points : 828
    Points
    828
    Par défaut
    En tout cas, perso, je préfère relire un code où celui qui l'a écrit jure comme un charretier. C'est plus rigolo qu'un code aseptisé.

  16. #16
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    721
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 721
    Points : 1 876
    Points
    1 876
    Par défaut
    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

  17. #17
    Membre éprouvé
    Homme Profil pro
    Administrateur Systèmes, Clouds et Réseaux /CAO/DAO/Ingénierie Electrotechnique
    Inscrit en
    Décembre 2014
    Messages
    449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur Systèmes, Clouds et Réseaux /CAO/DAO/Ingénierie Electrotechnique

    Informations forums :
    Inscription : Décembre 2014
    Messages : 449
    Points : 991
    Points
    991
    Par défaut
    Bon, je vais moins culpabiliser maintenant, ça m'arrive hélas de laisser quelques jurons... et comme c'est libre d'accès ça m'est arrivé de recevoir des retours amusés.

Discussions similaires

  1. Réponses: 9
    Dernier message: 20/08/2007, 20h39
  2. [XUL] Comportement des images dans les listes item
    Par Christophe Charron dans le forum Autres langages pour le Web
    Réponses: 1
    Dernier message: 02/03/2007, 12h50
  3. Réponses: 2
    Dernier message: 02/12/2006, 21h58
  4. Sauter des lignes dans les commentaires pour Javadoc ?
    Par Pépé Lélé dans le forum Langage
    Réponses: 2
    Dernier message: 08/12/2005, 17h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo