شرح المفهوم
يحوّل هذا الدرس مهمة Go واقعية إلى برنامج صغير يمكن إدارته. ستأخذ سيناريو عمليًا، وتقسّمه إلى خطوات، وتقرر أين تجعل المساعدات البسيطة أو الأخطاء الصريحة الكود أسهل للثقة به. العادة المهمة هي الانتقال من المتطلبات الغامضة إلى شيء يمكنك تشغيله وفحصه. بحلول النهاية، يجب أن تكون قادرًا على شرح ليس فقط ما يفعله البرنامج، ولكن أيضًا لماذا يتناسب الهيكل مع المشكلة.
أين تضع الكود
- عرّف متغيرات اللون والموضع في الأعلى.
- أنشئ منطق رسم الأشكال أو وضعها في المنتصف.
- اعرض الإخراج (طباعة، لوحة، SVG، أو كتلة منسقة) في النهاية.
مرجع الأوامر
- اقرأ السيناريو وقرر ما يجب أن يعيده البرنامج قبل كتابة الكود.
- نمذج المهمة الحقيقية بأصغر دالة مفيدة يمكنك التفكير فيها.
- شغّل الإصدار الأول بسرعة، ثم حسّن الوضوح قبل إضافة ميزات إضافية.
- استخدم قيم إرجاع صريحة ليكون الإخراج سهل الفحص والمناقشة.
دليل خطوة بخطوة
- ترجم الموقف الواقعي إلى قاعدة واضحة واحدة يجب أن يتبعها البرنامج.
- اكتب دالة صغيرة لتلك القاعدة واختبرها بمدخلين واقعيين.
- عدّل شرطًا أو تسمية واحدة، ثم أعد تشغيل البرنامج لترى كيف يتغير الإخراج.
- قارن مسودتك الأولى بالنسخة المحسّنة وبرّر الهيكل الذي اخترته.
- اختتم بمراجعة سريعة: هل يحل الكود المهمة الحقيقية بوضوح ومباشرة؟
تمارين تطبيقية
- أنشئ برنامجًا صغيرًا يصنّف وظيفة أو طلبًا أو مهمة بناءً على شرط بسيط.
- غيّر السيناريو من تسميات الحالة إلى تسميات الأولوية مع الحفاظ على نفس شكل البرنامج.
- ابنِ مثالًا واقعيًا ثانيًا بمدخلات مختلفة ولكن بنفس نمط اتخاذ القرار.
تحديات برمجية
- وسّع البرنامج ليتعامل مع حالة إضافية دون أن يصبح فوضويًا.
- أعد كتابة الحل باستخدام دالة مساعدة واشرح لماذا هذه النسخة أسهل في الصيانة.
مهام تمرين صغيرة
- استبدل التسميات النموذجية بتسميات من سيناريو قد تراه في العمل.
- أضف مدخلًا مثالًا آخر وتحقق من النتيجة المطبوعة.
- اكتب وصفًا من سطر واحد للمشكلة التي يحلها هذا البرنامج.
خطأ شائع
Mixing x and y axes or using wrong coordinate origin causes shapes to appear in unexpected places.
تحدٍ مصغّر من الواقع
Draw one square, one triangle, and one circle, then move X marker 2 steps right and 1 step down.