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