Réputation

Découvre le système de réputation.


La réputation est le système qui permet aux gens d'acquérir de la « confiance » au sein de l'écosystème Exercism.

La réputation mesure la contribution d'une personne à Exercism, que ce soit par sa contribution à la plateforme (par exemple la création de logiciels, d'exercices et de documentation) ou par sa contribution à la communauté (par exemple le mentorat).

La réputation ne peut être ni « dépensée » ni « utilisée ». Cependant, atteindre certains seuils de réputation donne accès à de nouveaux privilèges et à de nouvelles façons de contribuer. Pour le dire simplement, plus une personne a de réputation, plus nous estimons pouvoir lui faire confiance, et donc plus nous lui accordons de pouvoir. La réputation est aussi une mesure visible publiquement de tout ce que tu as apporté à Exercism.

Objectif

Le système de réputation a pour objectif de :

  1. Maximiser les interactions centrées sur la progression entre apprenants et mentors
  2. Maximiser l'envie des mentors de contribuer

Acquisition de la réputation

La réputation peut s'acquérir de diverses manières :

Action Réputation
Mentore une solution avec succès 5
Publie une solution 1-3
Écris un exercice 20
Mets à jour un exercice 10
Écris un concept 10
Mets à jour un concept 5
Crée une pull request 3-100
Relis une pull request 1-20
Fusionne une pull request 1-5

Mentore une solution avec succès

Pour chaque solution mentorée avec succès (la discussion est terminée), 5 points de réputation sont attribués.

Publie une solution

Pour chaque solution publiée, la réputation attribuée dépend de la difficulté de l'exercice :

Label Réputation
easy 1
medium 2
hard 3

Écris un exercice

Pour chaque exercice où l'utilisateur est mentionné comme auteur, 20 points de réputation sont attribués.

Mets à jour un exercice

Pour chaque exercice où l'utilisateur est mentionné comme contributeur, 10 points de réputation sont attribués.

Écris un concept

Pour chaque concept où l'utilisateur est mentionné comme auteur, 10 points de réputation sont attribués.

Mets à jour un concept

Pour chaque concept où l'utilisateur est mentionné comme contributeur, 5 points de réputation sont attribués.

Crée une pull request

Par défaut, 12 points de réputation sont attribués lorsqu'une pull request ouverte par l'utilisateur est fusionnée.

Selon le contenu de la pull request, un mainteneur peut attribuer plus (ou moins) de réputation en ajoutant l'un des labels suivants à la pull request :

Label Réputation Exemples
x:rep/tiny 3
  • Correction d'une seule faute de frappe ou d'un lien
  • Suppression d'une ligne vide ou ajout d'un saut de ligne
  • Modification ou ajout d'un seul commentaire dans le code
x:rep/small 5
  • Correction d'un seul cas de test, d'une seule tâche ou d'un seul exemple
  • Correction de plusieurs fautes de frappe ou liens dans un même fichier
  • Clarification du contenu en ajoutant quelques lignes à un fichier
x:rep/medium 12
  • Synchronisation d'un exercice avec problem-specifications (modifications comprises)
  • Ajout d'un ou plusieurs cas de test à partir de zéro
  • Amélioration de plusieurs fichiers d'un exercice
  • Ajout de notes de mentorat pour un exercice à partir de zéro
  • Correction d'un petit bug dans un exécuteur de tests, un analyseur ou un representer
  • Ajout de commentaires d'analyseur pour un seul exercice
x:rep/large 30
  • Ajout d'un nouveau concept ou d'un exercice d'entraînement
  • Ajout de documentation sur un concept
  • Réécriture substantielle d'un concept ou d'un exercice existant
  • Ajout de nouveaux scripts CI ou d'autres automatisations
x:rep/massive 100
  • Création d'un exécuteur de tests, d'un analyseur, d'un representer ou d'un générateur à partir de zéro
  • Réécritures majeures de ces outils
  • Création d'une documentation majeure à partir de zéro (par exemple des guides de contribution ou de test)

Les exemples ci-dessus peuvent servir d'orientation approximative pour savoir quel label appliquer, mais les mainteneurs sont libres d'utiliser leur propre jugement.

  • Le temps estimé passé doit s'interpréter comme le temps moyen qu'un mainteneur consacrerait à réaliser la pull request.
  • Si plusieurs labels sont spécifiés, c'est le label avec la valeur de réputation la plus élevée qui détermine la réputation attribuée.
  • Si une pull request est encore ouverte, aucune réputation n'est attribuée (pour l'instant).
  • Si une pull request est fermée sans être fusionnée, aucune réputation n'est attribuée.

Par souci de rétrocompatibilité, nous prenons aussi en charge l'utilisation des labels x:size pour déterminer la réputation attribuée.

Relis une pull request

Pour chaque pull request fusionnée ou fermée relue par l'utilisateur, 5 points de réputation sont attribués.

  • Si une pull request est encore ouverte, aucune réputation n'est attribuée (pour l'instant).

  • La réputation de relecture n'est attribuée qu'une seule fois par utilisateur et par pull request.

  • L'utilisateur qui a ouvert la pull request ne reçoit pas de réputation pour avoir relu sa propre pull request.

  • La réputation attribuée pour la relecture d'une pull request change si l'un des labels suivants est ajouté à la pull request :

    Label Réputation
    x:rep/tiny 1
    x:rep/small 2
    x:rep/medium 5
    x:rep/large 10
    x:rep/massive 20

    Il n'est pas possible d'utiliser des « tailles » de réputation différentes pour l'auteur et le relecteur d'une pull request. Les deux se basent sur le même label x:rep.

    Si plusieurs labels sont spécifiés, c'est le label avec la valeur de réputation la plus élevée qui détermine la réputation attribuée.

    Par souci de rétrocompatibilité, nous prenons aussi en charge l'utilisation des labels x:size pour déterminer la réputation attribuée.

Fusionne une pull request

Pour chaque pull request fusionnée par l'utilisateur, 1 point de réputation est attribué.

  • Si une pull request est encore ouverte, aucune réputation n'est attribuée (pour l'instant).
  • Si une pull request est fermée sans être fusionnée, aucune réputation n'est attribuée.
  • L'utilisateur qui a ouvert la pull request ne reçoit pas de réputation pour avoir fusionné sa propre pull request.
  • Si la pull request n'a reçu aucune relecture, 5 points de réputation sont attribués à la place.

Ouvre une issue

Comme pour les pull requests, par défaut, aucune réputation n'est attribuée lorsqu'une issue est ouverte. Contrairement aux pull requests, la réputation n'est attribuée que pour les issues large ou massive.

Selon le contenu de l'issue, un mainteneur peut choisir d'attribuer de la réputation en ajoutant l'un des labels suivants à l'issue :

Label Réputation Exemples
x:rep/large 30
  • Exercice d'apprentissage entièrement étoffé
x:rep/massive 100
  • Conception du programme d'un parcours

Les exemples ci-dessus peuvent servir d'orientation approximative pour savoir quel label appliquer, mais les mainteneurs sont libres d'utiliser leur propre jugement.

  • La réputation doit refléter l'effort qu'un mainteneur consacrerait à créer l'issue.

  • Si plusieurs labels sont spécifiés, c'est le label avec la valeur de réputation la plus élevée qui détermine la réputation attribuée.