14 points par kuroneko 2023-07-07 | 11 commentaires | Partager sur WhatsApp
  • Une étude publiée par Jan Strehmel, étudiant à l’Institut d’informatique théorique du Karlsruhe Institute of Technology.
  • Plus de 3 800 dépôts contenant des insultes et plus de 7 600 dépôts sans insultes ont été collectés.
  • La qualité du code a été mesurée à l’aide de SoftWipe, un outil d’évaluation de la qualité du code C/C++, puis analysée au moyen de diverses méthodes statistiques.
  • Résultat : il a été constaté que la qualité du code contenant des insultes était en moyenne plus élevée.
  • L’hypothèse avancée est que l’usage d’insultes traduit un engagement émotionnel vis-à-vis de la complexité du code et conduit à l’analyser de manière plus critique pour produire un meilleur code.
  • Cependant, l’examen de l’étude critique la difficulté à établir un lien entre insultes et qualité du code, ainsi que le manque de représentativité de la recherche.

11 commentaires

 
budlebee 2023-07-07

Ça me fait penser au code de l’algorithme de calcul vectoriel de Quake.

float Q_rsqrt( float number )
{
long i;
float x2, y;
const float threehalfs = 1.5F;

x2 = number * 0.5F;
y = number;
i = * ( long * ) &y; // bidouillage maléfique des bits en virgule flottante
i = 0x5f3759df - ( i >> 1 ); // c'est quoi ce bordel ?
y = * ( float * ) &i;
y = y * ( threehalfs - ( x2 * y * y ) ); // 1re itération
// y = y * ( threehalfs - ( x2 * y * y ) ); // 2e itération, on peut l’enlever

return y;
}

 
laeyoung 2023-07-07

Contrairement à l’idée reçue selon laquelle « quelqu’un qui jure beaucoup a probablement reçu une mauvaise éducation », une étude a montré que les personnes qui manient bien les grossièretés ont aussi un vocabulaire relativement plus riche." - https://www.mk.co.kr/news/society/7115122

Il existe aussi des études montrant que les personnes qui jurent bien ont un vocabulaire plus étendu. Entre quelqu’un qui dit seulement « non » et quelqu’un qui distingue et emploie à la fois « non » et « non putain », on peut effectivement avoir l’impression que le second dispose d’un meilleur vocabulaire et d’une plus grande capacité d’expression.

 
secrasm 2023-07-07

Après avoir lu cet article, j’ai remplacé le type de commit dans mes messages de commit par le mot en f au lieu de feat:.

 
[Ce commentaire a été masqué.]
 
asdwqr 2023-07-07

N’est-ce pas simplement parce que le code a été écrit par quelqu’un de tellement talentueux qu’en voyant le code d’un collègue, il ne peut pas s’empêcher de lâcher des jurons ?
Ou alors parce que c’est quelqu’un d’assez doué pour que personne ne puisse rien lui dire même s’il colle des insultes dans le code lol

 
roxie 2023-07-07

Je pense ça aussi. À moins d’avoir un sacré niveau, qui oserait mettre des insultes dans un commentaire… J’ai l’impression qu’on s’autocensurerait naturellement. J’imagine que seules quelques personnes parmi les programmeurs les plus brillants, soit parce qu’elles manquent de retenue, soit parce qu’elles choisissent délibérément de ne pas s’en imposer, laisseraient des grossièretés. En regardant le commentaire original, il y a même une mention de Torvalds mdr.

 
laracool 2023-07-07

Un sujet que les journalistes adeptes des articles putaclic vont adorer.

 
xguru 2023-07-07

Une étude un peu étrange. Voir des commentaires avec des grossièretés me mettrait plutôt mal à l’aise -.-;

 
kuroneko 2023-07-07

En gros, l’étude dit aussi qu’il existe une corrélation entre les grossièretés et la qualité du code, mais pas de lien de causalité, donc ce n’est pas parce qu’on jure que la qualité du code s’améliore.
Et il est encore un peu tôt pour tirer une conclusion, certains disent aussi qu’il faut davantage de recherches.

Du côté de Hacker News aussi, le débat fait rage entre les pour et les contre. Certains disent que ça leur semble vraiment plausible, d’autres que non...

Parmi les commentaires, certains disent aussi qu’on jure davantage dans un environnement sûr (non oppressif), et que ce type d’environnement produit une meilleure qualité de code...
D’autres avancent également que jurer permet de relâcher un peu ses émotions, ce qui aide à mieux se concentrer sur la qualité du code.

Je ne sais pas si c’est vrai, mais apparemment il y a aussi des grossièretés dans OpenJDK.

 
kuroneko 2023-07-07

Résumé IA de l’article

Le PDF examine si l’usage de grossièretés dans du code open source est lié à la qualité du code.
Pour enquêter sur ce point, l’auteur a exploré sur GitHub plus de 3 800 dépôts C contenant des grossièretés et plus de 7 600 dépôts C n’en contenant pas.

L’auteur a utilisé un outil appelé SoftWipe pour quantifier la qualité du code des dépôts en fonction du respect des standards de codage.
Les résultats, fondés sur une validation statistique, montrent que les dépôts contenant des grossièretés obtenaient des scores de qualité du code nettement plus élevés que ceux qui n’en contenaient pas.

L’auteur a émis l’hypothèse que l’usage de grossièretés reflète un engagement émotionnel plus fort des programmeurs et une analyse plus approfondie du code, ce qui conduirait à une meilleure qualité.
Cependant, l’auteur reconnaît que corrélation ne signifie pas causalité et que les grossièretés n’améliorent pas automatiquement la qualité du code.

Cette étude fournit des premiers résultats intéressants, mais l’auteur indique qu’un jeu de données plus large (incluant du code C++ et une identification plus précise des grossièretés),
et une étude plus détaillée de l’influence du nombre de lignes de code, des étoiles et du nombre de grossièretés sur les résultats de qualité du code, pourraient apporter davantage d’enseignements.

En résumé, le principal résultat de cette étude est la mise en évidence d’une corrélation statistiquement significative entre l’usage de grossièretés dans du code C open source et des scores de qualité du code plus élevés.
Cependant, l’auteur avertit que des recherches supplémentaires sont nécessaires pour mieux comprendre les raisons de cette corrélation et ses implications pratiques.

 
americanpub 2023-07-10

C’est peut-être aussi parce que la culture dominante de C était celle de la critique agressive.