Reputación

Aprende cómo funciona el sistema de reputación.


La reputación es el sistema que permite a las personas adquirir «confianza» dentro del ecosistema de Exercism.

La reputación mide cuánto ha contribuido una persona a Exercism, tanto a través de su contribución a la plataforma (por ejemplo, creando software, ejercicios y documentación) como a la comunidad (por ejemplo, haciendo mentoría).

La reputación no se puede «gastar» ni «usar». Sin embargo, alcanzar ciertos umbrales de reputación da acceso a nuevos privilegios y formas de contribuir. En pocas palabras: cuanto más reputación tiene una persona, más confiamos en ella y, por tanto, más poder recibe. Además, la reputación es una medida visible públicamente de cuánto has aportado a Exercism.

Propósito

El sistema de reputación tiene como objetivo:

  1. Maximizar las interacciones centradas en el crecimiento entre estudiantes y mentores
  2. Maximizar las ganas de los mentores de contribuir

Cómo se obtiene reputación

La reputación se puede obtener de diversas formas:

Acción Reputación
Hacer mentoría de una solución con éxito 5
Publicar una solución 1-3
Escribir un ejercicio 20
Actualizar un ejercicio 10
Escribir un concepto 10
Actualizar un concepto 5
Crear un pull request 3-100
Revisar un pull request 1-20
Fusionar un pull request 1-5

Hacer mentoría de una solución con éxito

Por cada solución mentorizada con éxito (la conversación se ha dado por finalizada), se otorgan 5 puntos de reputación.

Publicar una solución

Por cada solución publicada, se otorga reputación en función de la dificultad del ejercicio:

Etiqueta Reputación
easy 1
medium 2
hard 3

Escribir un ejercicio

Por cada ejercicio en el que el usuario figure como autor, se otorgan 20 puntos de reputación.

Actualizar un ejercicio

Por cada ejercicio en el que el usuario figure como colaborador, se otorgan 10 puntos de reputación.

Escribir un concepto

Por cada concepto en el que el usuario figure como autor, se otorgan 10 puntos de reputación.

Actualizar un concepto

Por cada concepto en el que el usuario figure como colaborador, se otorgan 5 puntos de reputación.

Crear un pull request

De forma predeterminada, se otorgan 12 puntos de reputación cuando se fusiona un pull request que ha abierto el usuario.

En función del contenido del pull request, un mantenedor puede otorgar más (o menos) reputación añadiendo una de las siguientes etiquetas al pull request:

Etiqueta Reputación Ejemplos
x:rep/tiny 3
  • Corregir una única errata o un solo enlace
  • Eliminar una línea en blanco o añadir un salto de línea
  • Cambiar o añadir un único comentario de código
x:rep/small 5
  • Corregir un único caso de prueba, tarea o ejemplo
  • Corregir varias erratas o enlaces en un solo archivo
  • Aclarar el contenido añadiendo unas pocas líneas a un archivo
x:rep/medium 12
  • Sincronizar un ejercicio con problem-specifications (incluidas las ediciones)
  • Añadir uno o varios casos de prueba desde cero
  • Mejorar varios archivos de un ejercicio
  • Añadir notas de mentoría para un ejercicio desde cero
  • Corregir un error pequeño en un test runner, analyzer o representer
  • Añadir comentarios del analyzer para un único ejercicio
x:rep/large 30
  • Añadir un nuevo ejercicio de concepto o de práctica
  • Añadir documentación nueva de un concepto
  • Reescribir en gran medida un concepto o un ejercicio existentes
  • Añadir scripts de CI nuevos u otra automatización
x:rep/massive 100
  • Crear desde cero un test runner, analyzer, representer o generador
  • Refactorizaciones importantes de esas herramientas
  • Crear documentación importante desde cero (por ejemplo, guías de contribución o de pruebas)

Los ejemplos anteriores pueden servir de orientación aproximada sobre cuándo aplicar cada etiqueta, pero los mantenedores son libres de usar su propio criterio.

  • El número estimado de tiempo dedicado debe interpretarse como el tiempo medio que dedicaría un mantenedor a hacer el PR.
  • Si se especifica más de una etiqueta, la etiqueta con el valor de reputación más alto determina la reputación otorgada.
  • Si un pull request sigue abierto, no se otorga reputación (todavía).
  • Si un pull request se cierra sin fusionarlo, no se otorga reputación.

Por motivos de retrocompatibilidad, también admitimos el uso de las etiquetas x:size para determinar la reputación otorgada.

Revisar un pull request

Por cada pull request fusionado o cerrado que haya revisado el usuario, se otorgan 5 puntos de reputación.

  • Si un pull request sigue abierto, no se otorga reputación (todavía).

  • La reputación por revisión solo se otorga una vez por usuario y pull request.

  • El usuario que abrió el pull request no obtiene reputación por revisar su propio pull request.

  • La reputación otorgada por revisar un pull request cambia si se añade al pull request una de las siguientes etiquetas:

    Etiqueta Reputación
    x:rep/tiny 1
    x:rep/small 2
    x:rep/medium 5
    x:rep/large 10
    x:rep/massive 20

    No es posible usar «tamaños» de reputación distintos para el autor y el revisor de un pull request. Ambos se basan en la misma etiqueta x:rep.

    Si se especifica más de una etiqueta, la etiqueta con el valor de reputación más alto determina la reputación otorgada.

    Por motivos de retrocompatibilidad, también admitimos el uso de las etiquetas x:size para determinar la reputación otorgada.

Fusionar un pull request

Por cada pull request que haya fusionado el usuario, se otorga 1 punto de reputación.

  • Si un pull request sigue abierto, no se otorga reputación (todavía).
  • Si un pull request se cierra sin fusionarlo, no se otorga reputación.
  • El usuario que abrió el pull request no obtiene reputación por fusionar su propio pull request.
  • Si el pull request no tiene ninguna revisión, se otorgan 5 puntos de reputación en su lugar.

Abrir un issue

Al igual que con los pull requests, de forma predeterminada no se otorga reputación cuando se abre un issue. A diferencia de los pull requests, solo se otorga reputación por issues grandes o enormes.

En función del contenido del issue, un mantenedor puede decidir otorgar reputación añadiendo una de las siguientes etiquetas al issue:

Etiqueta Reputación Ejemplos
x:rep/large 30
  • Un ejercicio de concepto completamente desarrollado
x:rep/massive 100
  • Diseñar el plan de estudios de un track

Los ejemplos anteriores pueden servir de orientación aproximada sobre cuándo aplicar cada etiqueta, pero los mantenedores son libres de usar su propio criterio.

  • La reputación debe reflejar la cantidad de esfuerzo que el mantenedor dedicaría a crear el issue.

  • Si se especifica más de una etiqueta, la etiqueta con el valor de reputación más alto determina la reputación otorgada.