شرح المفهوم
"أساسيات وقت تشغيل JavaScript: دمج المشروع" هو المكان الذي تبدأ فيه الأفكار الأولية من هذه الوحدة بالتحول إلى تطبيق عملي. بدلاً من كتابة مقتطف منفصل، ستعمل مع ميزة صغيرة ذات حالة وتفكر في كيفية تعاون أجزاء من كود JavaScript داخل مشروع صغير. التركيز هنا ليس على بناء تطبيق كامل، بل على رؤية كيف تتجمع البيانات والسلوك والتسمية بطريقة لا تزال سهلة المتابعة. ستفحص كائن مخزن أساسي، وتتبع كيف تتغير الحالة بمرور الوقت، وتُجري تحسينًا واحدًا يحافظ على بساطة الكود مع تسهيل إعادة استخدامه. بحلول النهاية، يجب أن تكون أكثر ارتياحًا لربط بناء الجملة وتحديثات الحالة والهيكل في مثال صغير واحد يشبه العمل الحقيقي.
أين تضع الكود
- ابدأ بالمتغيرات والمدخلات. استخدم بناء جملة المتصفح أو Node.js بوضوح.
- أضف منطق المعالجة في القسم الأوسط.
- اختتم بالمخرجات والتحقق السريع.
مرجع الأوامر
- شغّل المثال واصفًا كيف يتغير العد بعد كل استدعاء لدالة.
- أضف دالة جديدة مثل `decrement` أو `setCount` واختبرها ببضعة مدخلات.
- أعد هيكلة الكائن بحيث تكون تحديثات الحالة أسهل في القراءة دون تغيير السلوك.
- اشرح لماذا يساعد تجميع البيانات والدوال ذات الصلة داخل كائن واحد في مشروع حقيقي.
دليل خطوة بخطوة
- اقرأ الكائن وحدد مكان تخزين الحالة الحالية.
- شغّل المثال مرة واحدة وتأكد من أن المخرجات تتطابق مع تسلسل استدعاءات الدوال.
- أضف سلوكًا صغيرًا واحدًا، مثل دالة `decrement` أو حماية ضد القيم السالبة.
- أعد تسمية أي خصائص أو أسماء دوال غامضة بحيث يكون غرضها واضحًا للوهلة الأولى.
- لخص في جملة واحدة كيف يربط هذا المثال بناء الجملة البسيط بهيكل يشبه المشروع.
تمارين تطبيقية
- حوّل المخزن إلى ميزة عداد نقرات صغيرة تتتبع الزيادات، وعمليات إعادة الضبط، والقيمة الحالية.
- أعد كتابة المثال بحيث يتم فصل منطق تغيير الحالة عن كود التسجيل.
- أنشئ قائمة اختبار يدوية قصيرة تثبت أن المخزن يتصرف بشكل صحيح بعد كل إجراء.
تحديات برمجية
- ابنِ مخزنًا ثانيًا لقطعة بيانات مختلفة وحافظ على اتساق وقابلية قراءة كلا التطبيقين.
- أضف تحققًا خفيفًا بحيث لا تؤدي التحديثات غير الصالحة إلى إفساد الحالة المخزنة بصمت.
مهام تمرين صغيرة
- أضف دالة مفيدة واحدة.
- أعد تسمية مفتاح واحد للوضوح.
- تحقق من الحالة النهائية بفحص سريع.
خطأ شائع
Skipping input validation or mixing logic/output in one unstructured block.
تحدٍ مصغّر من الواقع
Build a small real-life example for this lesson topic using 3 clear steps: input, process, output.