Implementa herramientas adicionales


Después de lanzar el track con los primeros 20 ejercicios o más y un Test Runner, el enfoque debe pasar a implementar herramientas adicionales del track.

Existen dos tipos de herramientas del track:

  • Producción: aportan una función clave en la experiencia de aprendizaje de ese lenguaje.
  • Mantenimiento: ayudan con el mantenimiento del track.

Herramientas de producción

Hay (por ahora) tres herramientas de producción:

  • Test Runners: ejecutan los tests de un ejercicio contra el código de un estudiante. (obligatorio)
  • Representers: crean una representación normalizada de una solución. (opcional)
  • Analyzers: evalúan automáticamente las soluciones enviadas por los estudiantes y ofrecen comentarios al estilo de un mentor. (opcional)

Herramientas de mantenimiento

Para ayudar con el mantenimiento del track, también puedes crear:

  • Test Generators: generan o actualizan automáticamente los tests de un ejercicio y la interfaz del código del estudiante. (opcional)

¿Qué herramienta implementar?

Las herramientas de producción son más importantes que las de mantenimiento. En este punto, ya deberías haber implementado un Test Runner (si no es así, revisa la documentación para crear un test runner).

Una vez que tengas un test runner, la siguiente herramienta en la que trabajar es el Representer. Hay cierto solapamiento entre los objetivos del Representer y del Analyzer, pero te recomendamos implementar primero el Representer por las siguientes razones:

  • Los Representers suelen ser (mucho) más fáciles de implementar.
  • Los Representers pueden tener un impacto mucho mayor que los Analyzers en la carga de mentoría, porque empoderan a los mentores.
  • Los Representers se aplican a todos los ejercicios, mientras que los Analyzers normalmente se enfocan en ejercicios específicos o en un subconjunto de ellos.

Para empezar a crear un Representer, revisa el documento Crear un Representer desde cero.

Por último, después de implementar un Representer, la última herramienta por crear es el Analyzer. Para empezar a crear un Analyzer, revisa el documento Crear un Analyzer desde cero.

En este punto, probablemente el enfoque deba volver a agregar más ejercicios. Para acelerar la incorporación de nuevos ejercicios, considera crear un Test Generator.

Implementación

Las herramientas del track normalmente están escritas (en su mayoría) en el lenguaje del track.

Caution

Si bien eres libre de usar otros lenguajes, cada lenguaje adicional hará más difícil mantener el track o contribuir a él. Por eso te recomendamos usar el lenguaje del track siempre que sea posible, porque facilita el mantenimiento y las contribuciones.

Despliegue

Las herramientas de producción se empaquetan y se ejecutan como un contenedor de Docker. Las imágenes Docker de las herramientas se despliegan automáticamente mediante un flujo de trabajo de GitHub Actions.

Las herramientas de mantenimiento no se despliegan.