DSK
تطبيقات سطح المكتب
طرفية bash وأداة Node حقيقية، وتطبيق Electron بنوافذ وقوائم وحوارات — وتصدير بيتختبر بالأدوات الحقيقية.
0/100ابنِ أداة Node بترتّب مجلد حسب الامتداد: معاملات، أكواد خروج، قفل، سجل — وصدّرها مشروع بيتختبر بـbash وNode الحقيقيين.
- 1. تشريح
- 2. معاملات وأخطاء
- 3. شغّل وتتبّع
- 4. اكسر وأصلح
- 5. التحدي
- 6. صدّر
تشريح: استكشف: ls inbox، وcat project/organize.js، وشغّل node project/organize.js inbox على نسخة وشوف إيه اللي ناقص.
ملفات المشروع (~/project)
الطرفية (bash)
user@basma:~$ — اكتب أمر تحت (مثلًا ls أو help)
عقد السلوك
10 سيناريو — لسه ما شغّلتش على الكود الحالي.
اكسر وأصلح
- dsk.missing-file (تشغيل): الأداة بتفتح المجلد من غير ما تتعامل مع إنه مش موجود ← انهيار بـ `Error: ENOENT` وstack بدل رسالة مفهومة. الدليل: Error: ENOENT: no such file or directory, scandir 'nope'. الإصلاح: لفّ statSync في try/catch واطبع رسالة واطلع بكود 1
- dsk.arg-parsing (منطق): المعاملات بتتقري بمكانها (argv[0] هو المجلد) بدل ما تتحلل ← `organize --dry-run inbox` بيعامل --dry-run كمجلد أو بيتجاهل الخيار. الدليل: كود الخروج 1 والمطلوب 0 | المخرجات مافيهاش «would move a.txt -> txt/». الإصلاح: لف على كل المعاملات: الخيارات بتبدأ بـ - والباقي هو المجلد

