شرح المفهوم
يقدم هذا الدرس فكرة أن الأداء لا يتعلق بالسرعة فحسب، بل بكتابة تعليمات برمجية لا تقوم بعمل إضافي عن طريق الخطأ. في C#، يجب أن يتعلم المبتدئ ملاحظة التخصيصات المتكررة، والحلقات غير الضرورية، والعمليات المكلفة الموضوعة في المكان الخطأ. ستعمل على مثال صغير، وتقيس ما يفعله، ثم تجري تغييرًا واحدًا مركزًا وتقارن النتيجة. الهدف هو بناء عادة طرح أسئلة بسيطة: ما الذي يعمل غالبًا، وما الذي يمكن إعادة استخدامه، وما الذي يجب أن يظل مقروءًا حتى بعد التحسين.
أين تضع الكود
- عرّف متغيرات اللون والموضع في الأعلى.
- أنشئ منطق رسم الأشكال أو وضعها في المنتصف.
- اعرض المخرجات (print, canvas, SVG, أو styled block) في النهاية.
مرجع الأوامر
- شغّل المثال مرة واحدة، ثم غيّر حجم قائمة المدخلات وشاهد كيف يتغير الوقت المنقضي.
- انقل أي عمل متكرر خارج الحلقة إذا لم يكن بحاجة إلى الحدوث في كل تكرار.
- حافظ على قابلية قراءة الدالة (method) أثناء تحسينها؛ لا تساوم على الوضوح من أجل مكسب ضئيل.
- اكتب جملة واحدة تشرح لماذا تغييرك أسرع أو أبسط.
دليل خطوة بخطوة
- اقرأ الدالة (method) وأشر إلى الجزء من التعليمات البرمجية الذي يعمل لكل عنصر في القائمة.
- شغّل المثال مرة واحدة وسجّل المخرجات قبل تغيير أي شيء.
- أجرِ تحسينًا صغيرًا يركز على الأداء، مثل إزالة العمل المتكرر أو تبسيط نص الحلقة (loop body).
- شغّل الإصدار المحدّث وقارن النتيجة بالمخرجات الأصلية.
- اختتم بملاحظة قصيرة حول ما إذا كان التغيير قد حسّن السرعة أو قابلية القراءة أو كليهما.
تمارين تطبيقية
- أنشئ مثالًا ثانيًا يجمع القيم الزوجية فقط في قائمة وقارن بين تطبيقين (implementations).
- أعد كتابة المثال باستخدام نمط حلقة مختلف وقرّر أي إصدار أسهل في القراءة.
- أضف مجموعة مدخلات أكبر وصف ما يتغير عندما تعمل الدالة (method) مرات أكثر بكثير.
تحديات برمجية
- طبّق نسختين من نفس العملية الحسابية واشرح أي واحدة ستحتفظ بها في مشروع حقيقي.
- صمّم حالة تصبح فيها عدم الكفاءة الصغيرة ملحوظة لأن التعليمات البرمجية تعمل ضمن سير عمل متكرر (repeated workflow).
مهام تمرين صغيرة
- أعد تسمية متغير واحد بحيث يكون الغرض من العملية الحسابية واضحًا.
- أضف قيمة مدخلات أخرى وتحقق مما إذا كان المجموع لا يزال منطقيًا.
- اكتب ملخصًا من سطر واحد لما يقيسه هذا المثال.
خطأ شائع
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.