شرح المفهوم
يتناول هذا الدرس البنية. بدلاً من وضع كل التفاصيل في ملف واحد، ستنظر إلى تقسيم صغير بين التصريح والتنفيذ وتفكر في سبب أهمية ذلك مع نمو البرنامج. الهدف ليس حفظ قواعد نظام البناء، بل فهم المسؤوليات: أين تنتمي الواجهات، وأين ينتمي السلوك، وكيف يساعدك هذا الفصل على اختبار التعليمات البرمجية وإعادة استخدامها وتغييرها بوضوح أكبر. بحلول النهاية، يجب أن تكون قادرًا على وصف تخطيط C++ بسيط حيث يكون لكل ملف مهمة واضحة ويظل المثال بأكمله سهل التصفح.
أين تضع الكود
- ابدأ بالمتغيرات والمدخلات. حافظ على وضوح التضمينات والدالة الرئيسية وأنواع البيانات.
- أضف منطق المعالجة في القسم الأوسط.
- اختتم بالمخرجات والتحقق السريع.
مرجع الأوامر
- صف الغرض من الملف الرأسي في جملة واحدة قبل تغيير أي تعليمات برمجية.
- عدّل اسم الدالة أو سلوكها مرة واحدة، ثم حدّث كلاً من التصريح والتعريف بشكل متسق.
- أنشئ ملف `main` صغيرًا ذهنيًا أو على الورق يستدعي `add(2, 3)`.
- سجل سببًا واحدًا يجعل فصل الواجهة عن التنفيذ مفيدًا في المشاريع الكبيرة.
دليل خطوة بخطوة
- اقرأ جزئي المثال وحدد الملف الذي يكشف الواجهة.
- اشرح ما الذي سيتعطل إذا لم يعد التصريح والتعريف متطابقين.
- أجرِ تغييرًا صغيرًا واحدًا، مثل إعادة تسمية الدالة أو تعديل تعبير الإرجاع، وحافظ على تزامن الملفات.
- تحقق من التخطيط مرة أخرى وتأكد من أن كل ملف لا يزال لديه مسؤولية واضحة واحدة.
- اختتم بقائمة تحقق قصيرة تغطي التسمية والاتساق وسهولة إعادة الاستخدام.
تمارين تطبيقية
- أضف تصريحًا وتعريفًا لدالة ثانية للطرح مع الحفاظ على نفس بنية الملف.
- اكتب مثالاً بسيطًا لـ `main.cpp` يتضمن الملف الرأسي ويطبع نتيجة استدعاء دالة واحدة.
- أعد هيكلة التسمية بحيث يبدو ملف الأداة المساعدة أكثر تحديدًا لغرضه.
تحديات برمجية
- قارن هذا النهج المقسم للملفات بإصدار الملف الواحد واشرح أيهما أسهل في الصيانة مع نمو الميزات.
- صمم وحدة مساعدة صغيرة بدالتين مرتبطتين وحافظ على الواجهة نظيفة وبسيطة.
مهام تمرين صغيرة
- أضف نموذجًا أوليًا إضافيًا لدالة واحدة إلى الملف الرأسي.
- اكتب ملخصًا من سطر واحد لما يحققه هذا التنظيم للتعليمات البرمجية.
- تحقق من أن التصريح والتعريف يستخدمان نفس الاسم وترتيب المعلمات.
خطأ شائع
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.