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