Egy kurzus sok különböző részből áll.
A kurzus konfigurációja és metaadatai a config.json fájlban vannak megadva. Ez sorolja fel a kurzus feladatait, fogalmait, szerkesztőbeállításait és még sok mást. Nézd meg a config.json dokumentációt.
A kurzus összes tanuló- és gyakorlófeladata fogalmakhoz kapcsolódik. Ezek a fogalmak önmagukban is különálló egységek. További információért nézd meg a dokumentációt.
A kurzus tanulófeladataiban tanított fogalmak egy tantervet alkotnak. A tanterv a tanulók számára fogalomtérképként jelenik meg. Ha szeretnéd megtudni, hogyan építsd fel egy tanterv fogalomtérképét, nézd meg a fogalomtérkép dokumentációt.
Ha többet szeretnél megtudni a tanterv tervezéséről, nézd meg a tanterv dokumentációt.
A kurzusoknak kétféle feladatuk van:
Minden feladatnak van egy opcionális Áss mélyebbre szakasza, amely a következőket tartalmazhatja:
Néhány fájl nem egy-egy feladatra jellemző, hanem az összes feladatra érvényes. További információért nézd meg a dokumentációt.
Minden kurzushoz tartozik néhány kötelező dokumentációs fájl. További információért nézd meg a dokumentációt.
A kurzus egyes részei widgetekben is megjeleníthetők.
Minden dokumentumnak követnie kell a stílusútmutatót. A Markdown-dokumentumoknak emellett be kell tartaniuk a Markdown-szabványainkat is.
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
Minden kurzushoz (automatikusan) hozzárendelnek egy karbantartási kategóriát, amely meghatározza a kurzus karbantartójának GitHub-tároló-jogosultságait.
Amikor mergelsz egy olyan kurzus-PR-t, amely egy feladatot érint, azzal elindítod az összes tanulói megoldás legutóbb közzétett iterációjának újratesztelését. A népszerű feladatoknál ez egy nagyon költséges művelet (extrém esetben 70 000 tesztfuttatás a Python Hello Worldnél!).
Arra biztatunk, hogy próbáld elkerülni a felesleges újratesztelést.
A megoldásokat nem tesztelik újra, ha a mergelt commit:
.docs vagy .meta fájlokat, illetve olyan más fájlokat érint, amelyekkel a felhasználók nem találkoznak[no important files changed] szöveget a commit üzenetének törzsében.A megoldásokat újra fogják tesztelni, ha a mergelt commit egyszerre:
[no important files changed] szöveget a commit üzenetének törzsében.meta/config.json fájljában meghatározottak szerint):
Néhány példa:
[no important files changed] hozzáadásával mergelték, így nem futottak tesztek