Uma trilha é composta de muitas partes diferentes.
A configuração e os metadados da trilha são especificados no arquivo config.json. Nele estão listados os exercícios, os conceitos, as configurações do editor e muito mais. Confira a documentação do config.json.
Todos os exercícios de conceito e de prática de uma trilha envolvem conceitos. Esses conceitos são entidades próprias e independentes. Confira a documentação para saber mais.
Os conceitos ensinados nos exercícios de conceito da trilha formam um currículo. O currículo é mostrado aos estudantes como um mapa de conceitos. Confira a documentação do mapa de conceitos para saber como montar o mapa de conceitos de um currículo.
Para saber mais sobre como projetar um currículo, confira a documentação do currículo.
As trilhas têm dois tipos de exercícios:
Cada exercício tem uma seção opcional Aprofunde-se, que pode conter:
Alguns arquivos não são específicos de exercícios individuais, mas se aplicam a todos os exercícios. Confira a documentação para saber mais.
Cada trilha tem alguns arquivos de documentação obrigatórios. Confira a documentação para saber mais.
Algumas partes da trilha podem ser exibidas em widgets.
Todos os documentos devem seguir o guia de estilo. Documentos Markdown também devem seguir os nossos padrões de Markdown.
csharp ├── config | ├── exercise_readme.go.tmpl | └── maintainers.json ├── docs | ├── ABOUT.md | ├── INSTALLATION.md | ├── LEARNING.md | ├── RESOURCES.md | └── TESTS.md ├── concepts | └── numbers | ├── about.md | ├── introduction.md | └── links.json └── exercises | ├── concept | | └── cars-assemble | | ├── .docs | | | ├── hints.md | | | ├── introduction.md | | | └── instructions.md | | ├── .meta | | | ├── config.json | | | ├── design.md | | | └── Exemplar.cs (track-specific) | | ├── CarsAssemble.cs (track-specific) | | ├── CarsAssemble.csproj (track-specific) | | └── CarsAssembleTests.cs (track-specific) | ├── practice | | └── leap | | └── .docs | | | └── instructions.md | | └── .meta | | | ├── config.json | | | └── Example.cs (track-specific) | | ├── Leap.cs (track-specific) | | ├── Leap.csproj (track-specific) | | └── LeapTests.cs (track-specific) | └── shared | └── .docs | ├── debug.md | ├── help.md | └── tests.md └── config.json
Cada trilha recebe (automaticamente) uma categoria de manutenção, que determina as permissões do mantenedor da trilha no repositório do GitHub.
Quando você faz merge de um PR de trilha que mexe em um exercício, isso faz com que todas as últimas iterações publicadas das soluções dos estudantes sejam testadas de novo. Para exercícios populares, essa é uma operação muito cara (70.000 execuções de testes no Hello World de Python, em um caso extremo!).
Recomendamos que você tente evitar fazer isso sem necessidade.
As soluções não serão testadas de novo se o commit mesclado:
.docs ou .meta, ou em outros arquivos com os quais os usuários não interagem[no important files changed] no corpo do commit.As soluções serão testadas de novo se o commit mesclado:
[no important files changed] no corpo do commit.meta/config.json dele):
Alguns exemplos:
[no important files changed] adicionado, então nenhum teste foi executado