Um percurso é composto por várias partes diferentes.
A configuração e os metadados do percurso são especificados no ficheiro config.json. Este ficheiro lista os exercícios, os conceitos, as definições do editor do percurso e muito mais. Consulta a documentação do config.json.
Todos os exercícios de conceito e de prática de um percurso envolvem conceitos. Estes conceitos são entidades independentes entre si. Consulta a documentação para mais informações.
Os conceitos ensinados nos exercícios de conceito do percurso formam um plano de estudos. O plano de estudos é apresentado aos estudantes como um mapa de conceitos. Consulta a documentação do mapa de conceitos para saberes como construir o mapa de conceitos de um plano de estudos.
Para mais informações sobre como conceber um plano de estudos, consulta a documentação do plano de estudos.
Os percursos têm dois tipos de exercícios:
Cada exercício tem uma secção opcional, Ir mais fundo, que pode conter:
Alguns ficheiros não são específicos de cada exercício, mas aplicam-se a todos os exercícios. Consulta a documentação para mais informações.
Cada percurso tem alguns ficheiros de documentação obrigatórios. Consulta a documentação para mais informações.
Algumas partes do percurso podem ser apresentadas em widgets.
Todos os documentos devem seguir o guia de estilo. Os documentos Markdown devem também seguir as nossas normas 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
A cada percurso é atribuída (automaticamente) uma categoria de manutenção, que determina as permissões do repositório GitHub do responsável pelo percurso.
Quando fazes merge de um PR do percurso que mexe num exercício, isso faz com que a última iteração publicada de todas as soluções dos estudantes volte a ser testada. Para exercícios populares, esta é uma operação muito dispendiosa (70 000 execuções de testes no Hello World de Python, no extremo!).
Encorajamos-te a tentar evitar fazê-lo desnecessariamente.
As soluções não voltam a ser testadas se o commit integrado:
.docs ou .meta, ou noutros ficheiros com que os utilizadores não interagem[no important files changed] no corpo do commit.As soluções voltam a ser testadas se o commit integrado:
[no important files changed] no corpo do commit.meta/config.json):
Alguns exemplos:
[no important files changed] adicionado, por isso não foram executados testes