Reputazione

Scopri il sistema di reputazione.


La reputazione è il sistema che permette alle persone di acquisire «fiducia» all'interno dell'ecosistema di Exercism.

La reputazione è una misura di quanto una persona ha contribuito a Exercism, sia attraverso il contributo alla piattaforma (ad esempio creando software, esercizi e documentazione) sia attraverso il contributo alla comunità (ad esempio facendo mentoring).

La reputazione non può essere «spesa» né «usata». Tuttavia, raggiungere determinate soglie di reputazione dà accesso a nuovi privilegi e a nuovi modi di contribuire. In parole semplici, più reputazione ha una persona, più riteniamo di potercene fidare, e quindi maggiore è il potere che riceve. La reputazione è anche una misura visibile pubblicamente di quanto hai dato a Exercism.

Scopo

Lo scopo del sistema di reputazione è:

  1. Massimizzare le interazioni orientate alla crescita tra studenti e mentori
  2. Massimizzare la voglia dei mentori di contribuire

Come si acquisisce reputazione

La reputazione si può acquisire in vari modi:

Azione Reputazione
Mentoring di una soluzione con successo 5
Pubblicare una soluzione 1-3
Scrivere un esercizio 20
Aggiornare un esercizio 10
Scrivere un concept 10
Aggiornare un concept 5
Creare una pull request 3-100
Revisionare una pull request 1-20
Fare il merge di una pull request 1-5

Mentoring di una soluzione con successo

Per ogni soluzione il cui mentoring è stato portato a termine con successo (la discussione è stata conclusa), vengono assegnati 5 punti di reputazione.

Pubblicare una soluzione

Per ogni soluzione pubblicata, la reputazione assegnata dipende dalla difficoltà dell'esercizio:

Etichetta Reputazione
easy 1
medium 2
hard 3

Scrivere un esercizio

Per ogni esercizio in cui l'utente è elencato come autore, vengono assegnati 20 punti di reputazione.

Aggiornare un esercizio

Per ogni esercizio in cui l'utente è elencato come contributore, vengono assegnati 10 punti di reputazione.

Scrivere un concept

Per ogni concept in cui l'utente è elencato come autore, vengono assegnati 10 punti di reputazione.

Aggiornare un concept

Per ogni concept in cui l'utente è elencato come contributore, vengono assegnati 5 punti di reputazione.

Creare una pull request

Di default, quando si fa il merge di una pull request aperta dall'utente vengono assegnati 12 punti di reputazione.

A seconda del contenuto della pull request, un maintainer può assegnare più (o meno) reputazione aggiungendo alla pull request una delle seguenti etichette:

Etichetta Reputazione Esempi
x:rep/tiny 3
  • Correggere un singolo refuso o link
  • Rimuovere una riga vuota o aggiungere un'interruzione di riga
  • Modificare o aggiungere un singolo commento nel codice
x:rep/small 5
  • Correggere un singolo caso di test, task o esempio
  • Correggere più refusi o link in un singolo file
  • Chiarire il contenuto aggiungendo qualche riga a un file
x:rep/medium 12
  • Sincronizzare un esercizio con problem-specifications (incluse le modifiche)
  • Aggiungere da zero uno o più casi di test
  • Migliorare più file di un esercizio
  • Aggiungere da zero le note del mentore per un esercizio
  • Correggere un piccolo bug in un test runner, un analyzer o un representer
  • Aggiungere i commenti dell'analyzer per un singolo esercizio
x:rep/large 30
  • Aggiungere un nuovo concept exercise o practice exercise
  • Aggiungere nuova documentazione relativa ai concept
  • Riscrivere in modo sostanziale un concept o un esercizio esistente
  • Aggiungere nuovi script di CI o altra automazione
x:rep/massive 100
  • Creare da zero un test runner, un analyzer, un representer o un generator
  • Riorganizzazioni profonde di questi strumenti
  • Creare da zero documentazione importante (ad esempio guide per contribuire o guide ai test)

Gli esempi sopra possono servire da orientamento di massima su quale etichetta applicare, ma i maintainer sono liberi di usare il proprio giudizio.

  • Il numero stimato di tempo speso va interpretato come il tempo medio che un maintainer impiegherebbe per fare la PR.
  • Se viene specificata più di un'etichetta, è l'etichetta con il valore di reputazione più alto a determinare la reputazione assegnata.
  • Se una pull request è ancora aperta, non viene (ancora) assegnata alcuna reputazione.
  • Se una pull request viene chiusa senza fare il merge, non viene assegnata alcuna reputazione.

Per motivi di compatibilità all'indietro, supportiamo anche l'uso delle etichette x:size per determinare la reputazione assegnata.

Revisionare una pull request

Per ogni pull request revisionata dall'utente e di cui è stato fatto il merge o che è stata chiusa, vengono assegnati 5 punti di reputazione.

  • Se una pull request è ancora aperta, non viene (ancora) assegnata alcuna reputazione.

  • La reputazione per la revisione viene assegnata una sola volta per utente e per pull request.

  • Chi ha aperto la pull request non riceve reputazione per aver revisionato la propria pull request.

  • La reputazione assegnata per la revisione di una pull request cambia se alla pull request viene aggiunta una delle seguenti etichette:

    Etichetta Reputazione
    x:rep/tiny 1
    x:rep/small 2
    x:rep/medium 5
    x:rep/large 10
    x:rep/massive 20

    Non è possibile usare «dimensioni» di reputazione diverse per chi apre una pull request e per chi la revisiona. Entrambe si basano sulla stessa etichetta x:rep.

    Se viene specificata più di un'etichetta, è l'etichetta con il valore di reputazione più alto a determinare la reputazione assegnata.

    Per motivi di compatibilità all'indietro, supportiamo anche l'uso delle etichette x:size per determinare la reputazione assegnata.

Fare il merge di una pull request

Per ogni pull request di cui l'utente ha fatto il merge, viene assegnato 1 punto di reputazione.

  • Se una pull request è ancora aperta, non viene (ancora) assegnata alcuna reputazione.
  • Se una pull request viene chiusa senza fare il merge, non viene assegnata alcuna reputazione.
  • Chi ha aperto la pull request non riceve reputazione per aver fatto il merge della propria pull request.
  • Se la pull request non ha nessuna revisione, al suo posto vengono assegnati 5 punti di reputazione.

Aprire una issue

Come per le pull request, di default non viene assegnata alcuna reputazione quando si apre una issue. A differenza delle pull request, la reputazione viene assegnata solo per issue di tipo large o massive.

A seconda del contenuto della issue, un maintainer può scegliere di assegnare reputazione aggiungendo alla issue una delle seguenti etichette:

Etichetta Reputazione Esempi
x:rep/large 30
  • Un concept exercise completo e dettagliato
x:rep/massive 100
  • Progettare il percorso di una track

Gli esempi sopra possono servire da orientamento di massima su quale etichetta applicare, ma i maintainer sono liberi di usare il proprio giudizio.

  • La reputazione dovrebbe riflettere la quantità di impegno che un maintainer impiegherebbe per creare la issue.

  • Se viene specificata più di un'etichetta, è l'etichetta con il valore di reputazione più alto a determinare la reputazione assegnata.