Implemente ferramentas adicionais


Depois de lançar a trilha com os primeiros 20 exercícios (ou mais) e um executor de testes, o foco deve passar para a implementação de outras ferramentas da trilha.

Existem dois tipos de ferramentas de trilha:

  • Produção: fornecem uma função essencial para a experiência de aprendizado daquela linguagem
  • Manutenção: ajudam na manutenção da trilha

Ferramentas de produção

Existem (atualmente) três ferramentas de produção:

  • Executores de testes: executam os testes de um exercício contra o código de um estudante. (obrigatório)
  • Representadores: criam uma representação normalizada de uma solução. (opcional)
  • Analisadores: avaliam automaticamente as submissões dos estudantes e fornecem comentários no estilo de um mentor. (opcional)

Ferramentas de manutenção

Para ajudar na manutenção da trilha, também é possível criar:

  • Geradores de testes: geram/atualizam automaticamente os testes de um exercício e a interface de código do estudante. (opcional)

Qual ferramenta implementar?

As ferramentas de produção são mais importantes que as ferramentas de manutenção. Neste ponto, você já deve ter implementado um executor de testes (se não, consulte a documentação sobre criar um executor de testes).

Depois de criar um executor de testes, a próxima ferramenta a implementar é o representador. Existe certa sobreposição entre os objetivos do representador e do analisador, mas recomendamos criar o representador primeiro pelos seguintes motivos:

  • Representadores costumam ser (muito) mais fáceis de implementar
  • Representadores podem ter um impacto muito maior na carga de mentoria do que os analisadores, pois dão mais autonomia aos mentores
  • Representadores se aplicam a todos os exercícios, enquanto os analisadores costumam ter como alvo exercícios específicos ou um subconjunto deles

Para começar a criar um representador, consulte o documento Criar um representador do zero.

Por fim, depois de implementar um representador, a última ferramenta a criar é o analisador. Para começar a criar um analisador, consulte o documento Criar um analisador do zero.

Neste ponto, o foco provavelmente deve voltar para adicionar mais exercícios. Para acelerar a adição de novos exercícios, considere criar um gerador de testes.

Implementação

As ferramentas de trilha geralmente são (em grande parte) escritas na linguagem da trilha.

Caution

Você é livre para usar outras linguagens, mas cada linguagem adicional tornará a manutenção ou a contribuição para a trilha mais difícil. Por isso, recomendamos usar a linguagem da trilha sempre que possível, pois isso facilita a manutenção e a contribuição.

Publicação

As ferramentas de produção são empacotadas e executadas como um contêiner Docker. As imagens Docker das ferramentas são publicadas automaticamente usando um fluxo de trabalho do GitHub Actions.

As ferramentas de manutenção não são publicadas.