Un track consta de muchas partes diferentes.
La configuración y los metadatos del track se especifican en el archivo config.json. En él se listan los ejercicios, los conceptos, la configuración del editor y mucho más del track. Consulta la documentación de config.json.
Todos los ejercicios de concepto y de práctica de un track involucran conceptos. Estos conceptos son entidades independientes por sí mismos. Consulta la documentación para obtener más información.
Los conceptos que se enseñan en los ejercicios de concepto del track forman un temario. El temario se muestra a los estudiantes como un mapa de conceptos. Consulta la documentación del mapa de conceptos para aprender a construir el mapa de conceptos de un temario.
Para obtener más información sobre cómo diseñar un temario, consulta la documentación del temario.
Los tracks tienen dos tipos de ejercicios:
Cada ejercicio tiene una sección Dig Deeper opcional que puede contener:
Algunos archivos no son específicos de ejercicios individuales, sino que se aplican a todos los ejercicios. Consulta la documentación para obtener más información.
Cada track tiene algunos archivos de documentación obligatorios. Consulta la documentación para obtener más información.
Algunas partes del track se pueden mostrar en widgets.
Todos los documentos deben seguir la guía de estilo. Los documentos de Markdown también deben seguir nuestros estándares 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 track se le asigna (automáticamente) una categoría de mantenimiento, que determina los permisos del repositorio de GitHub del mantenedor del track.
Cuando fusionas un PR del track que toca un ejercicio, se activa la repetición de todas las últimas iteraciones publicadas de las soluciones de los estudiantes. En el caso de los ejercicios populares, esta es una operación muy costosa (¡70,000 ejecuciones de pruebas para el Hello World de Python, como caso extremo!).
Te animamos a intentar evitar hacer esto sin necesidad.
Las soluciones no se volverán a probar si el commit fusionado cumple una de estas dos condiciones:
.docs o .meta, u otros archivos con los que los usuarios no interactúan[no important files changed] en el cuerpo del commit.Las soluciones sí se volverán a probar si el commit fusionado cumple las dos condiciones siguientes:
[no important files changed] en el cuerpo del commit.meta/config.json):
Algunos ejemplos:
[no important files changed] agregado, así que no se ejecutó ninguna prueba