يتكوّن المسار من أجزاء مختلفة كثيرة.
تُحدَّد تهيئة المسار وبياناته الوصفية في ملف config.json. وهو يسرد تمارين المسار ومفاهيمه وإعدادات المحرر وغير ذلك الكثير. راجع توثيق config.json.
تتضمّن جميع تمارين المفاهيم وتمارين التطبيق في المسار مفاهيم. وهذه المفاهيم كيانات مستقلة بذاتها. راجع التوثيق لمزيد من المعلومات.
تشكّل المفاهيم التي تُدرَّس في تمارين المفاهيم بالمسار منهجًا. ويُعرض المنهج على الطلاب في صورة خريطة مفاهيم. راجع توثيق خريطة المفاهيم للتعرّف على كيفية بناء خريطة المفاهيم الخاصة بـ منهج.
لمزيد من المعلومات حول كيفية تصميم منهج، راجع توثيق المنهج.
لكل مسار نوعان من التمارين:
يحتوي كل تمرين على قسم اختياري للتعمّق أكثر، وقد يضم:
هناك ملفات لا تخص تمرينًا بعينه، بل تنطبق على جميع التمارين. راجع التوثيق لمزيد من المعلومات.
لكل مسار ملفات توثيق مطلوبة. راجع التوثيق لمزيد من المعلومات.
يمكن عرض بعض أجزاء المسار في ودجات.
ينبغي أن تلتزم جميع المستندات بـ دليل الأسلوب. كما ينبغي أن تلتزم مستندات 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) في المسار يمسّ أحد التمارين، فإنه يُطلق إعادة اختبار جميع أحدث النسخ المنشورة من حلول الطلاب. وبالنسبة للتمارين الشائعة، تكون هذه عملية مكلفة جدًا (70,000 عملية تشغيل اختبار في تمرين مرحبًا بالعالم بلغة Python كمثال متطرف!).
نشجّعك على محاولة تجنّب فعل ذلك بلا داعٍ.
لن يُعاد اختبار الحلول إذا كان الالتزام المدمج إما:
.docs أو .meta، أو ملفات أخرى لا يتفاعل معها المستخدمون[no important files changed] في نص الالتزام.ستُعاد اختبارات الحلول إذا اجتمع في الالتزام المدمج أمران:
[no important files changed] من نص الالتزام.meta/config.json الخاص به):
بعض الأمثلة:
[no important files changed]، لذا لم تُشغَّل أي اختبارات