شرح المفهوم
المعمارية في Go للمبتدئين تدور في الغالب حول الفصل: ضع المنطق المرتبط ببعضه، حافظ على تركيز الدوال، واجعل الملفات سهلة التصفح. في هذا الدرس، ستقوم بتقسيم برنامج صغير إلى أجزاء منطقية، ثم تتحقق مما إذا كان الهيكل لا يزال بسيطًا. الهدف هو ممارسة التنظيم دون الإفراط في التعقيد الهندسي.
أين تضع الكود
- عرّف متغيرات اللون والموضع في الأعلى.
- أنشئ منطق رسم الأشكال أو وضعها في المنتصف.
- اعرض المخرجات (طباعة، لوحة، SVG، أو كتلة منسقة) في النهاية.
مرجع الأوامر
- اجعل كل دالة مسؤولة عن مهمة واحدة واضحة.
- جمّع المنطق المرتبط ببعضه بحيث يمكن للقارئ التنبؤ بمكان العثور على الأشياء.
- استخدم أسماء تصف الغرض بدلاً من تفاصيل التنفيذ.
- راجع الهيكل بعد التغييرات وأزل أي شيء يبدو غير ضروري.
دليل خطوة بخطوة
- حدد أي جزء من الكود يتعامل مع المدخلات، وأي جزء يتعامل مع العمل، وأي جزء يطبع المخرجات.
- انقل جزءًا واحدًا من المنطق إلى دالة مساعدة (helper function) ذات اسم واضح.
- تحقق مما إذا كان الهيكل الجديد يجعل البرنامج أسهل في القراءة.
- قارن نسختك المنظمة بالنسخة الأصلية واشرح أيهما أسهل في التوسيع.
- اختتم بمراجعة سريعة: تدفق بسيط، أسماء واضحة، ولا طبقات إضافية.
تمارين تطبيقية
- حوّل مثالًا بملف واحد إلى دالتين أو ثلاث دوال مركزة ذات مسؤوليات واضحة.
- أنشئ مثالًا صغيرًا بأسلوب سطر الأوامر حيث تقوم الدالة `main` بتفويض العمل الفعلي إلى الدوال المساعدة (helpers).
- أعد تنظيم مثال فوضوي بحيث تتم عمليات التحقق والتنسيق والإخراج في خطوات منفصلة.
تحديات برمجية
- صمم هيكل برنامج صغير يمكن أن ينمو دون أن يصبح مربكًا.
- حافظ على نظافة المعمارية مع مقاومة الرغبة في إنشاء الكثير من التجريدات.
مهام تمرين صغيرة
- أعد تسمية دالة واحدة لتصبح غايتها أكثر وضوحًا.
- أضف دالة مساعدة جديدة تزيل التكرار.
- اكتب ملاحظة من سطر واحد تصف سبب سهولة صيانة الهيكل المختار.
خطأ شائع
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.