一个学习轨道由许多不同的部分组成。
学习轨道的配置和元数据在config.json文件中指定。这个文件列出了学习轨道的练习、概念、编辑器设置等等。查看 config.json 文档。
学习轨道的所有概念练习和实践练习都围绕_概念_展开。这些概念本身就是独立的实体。更多信息请查看文档。
学习轨道的概念练习所教授的概念构成一份_教学大纲_。 _教学大纲_以_概念图_的形式展示给学生。 想了解如何为一份_教学大纲_构建概念图,请查看_概念图_文档。
关于如何设计教学大纲,请查看教学大纲文档。
学习轨道有两类练习:
每个练习都有一个可选的 Dig Deeper 部分,其中可以包含:
有些文件并不针对单个练习,而是适用于_所有_练习。更多信息请查看文档。
每个学习轨道都有几个必需的文档文件。更多信息请查看文档。
学习轨道的某些部分可以显示在小部件中。
所有文档都应遵循风格指南。Markdown 文档还应遵循我们的 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
每个学习轨道都会被(自动)分配一个维护类别,这个类别决定了学习轨道维护者的 GitHub 代码仓库权限。
当你合入一个涉及某个练习的学习轨道 PR 时,会触发_所有_学生解答的最新已发布版本重新测试。 对于热门的练习来说,这是_非常_昂贵的操作(极端情况下,Python 的 Hello World 有 70,000 次测试运行!)。
我们建议你尽量避免不必要地这样做。
如果合入的提交符合以下任一条件,解答不会被重新测试:
.docs或.meta文件,或其他用户不会接触到的文件[no important files changed]。如果合入的提交同时满足以下两个条件,解答会被重新测试:
[no important files changed]
.meta/config.json文件):
一些例子:
[no important files changed],所以没有运行测试