brainax

الأخطاء البرمجية: نقرأ الخطأ

الدرس 21 من 26 في دورة «البرمجة بالإحساس». مجاني، مع رسوم متحركة واختبار.

أين تعيش الأخطاء

الـ bug خطأ في البرنامج. مثال: في تطبيق تتبع التمارين تضغط «حفظ» ولا يحدث شيء. تختبئ الأخطاء في ثلاثة أماكن. Console في DevTools، أي أدوات المطوّر في المتصفح (F12 على Windows، وCmd+Option+I على Mac): أسطر حمراء من كود الصفحة. تبويب Network في المكان نفسه: كل طلبات الصفحة إلى الخادم. وسجلات الاستضافة (logs): سجل لما فعله الخادم وعملية البناء.

تبويب Network ورموز الاستجابة

تفتح Network وتضغط «حفظ» فترى السطر الذي في الرسم: «POST /api/save 500». POST طلب يرسل بيانات. ‎/api/save عنوان على خادمك. 500 رمز الاستجابة. ورقة غش: 200 كل شيء جيد، 404 غير موجود (عنوان خاطئ)، 401 و403 لا صلاحية (لم تسجّل الدخول أو غير مسموح)، 500 خطأ في الخادم. إذن الزر ليس السبب: افحص سجلات الخادم.

الوصفة: من الخطأ إلى الإصلاح

الخطوة 1: كرّر الخطأ عمدًا ودوّن الخطوات. الخطوة 2: انسخ الخطأ كاملًا من Console أو من السجلات. الخطوة 3: أعطِ الوكيل الخطأ والخطوات وما كنت تتوقعه. الخطوة 4: اكتب «اشرح السبب أولًا ولا تلمس الكود بعد». الخطوة 5: الإصلاح ثم فحصك أنت. الخطوة 6: commit. فكرة إرسال الخطأ كاملًا مرّت في درس تكليف الذكاء الاصطناعي، وهنا الدورة كاملة.

فخ: «إصلاح» بالحذف

قد «يصلح» الوكيل الخطأ بمجرد إزالة ما يعترضه. مثال: كان الحفظ يفشل عند التحقق من أن المستخدم سجّل الدخول. فيحذف الوكيل هذا التحقق. اختفى الخطأ، لكن صار بإمكان أي شخص الكتابة في تمارين غيره. وبالطريقة نفسها قد يحذف الوكيل اختبارًا فاشلًا أو يخفي الخطأ. انظر إلى الـ diff: السطر الأحمر «حُذف التحقق؟» في الرسم إشارة لتسأل «لماذا؟».

عالق في حلقة؟ تراجع

المحاولة الخامسة والوضع يزداد سوءًا: يصلح الوكيل شيئًا ويكسر آخر. توقف. ارجع إلى آخر commit كان يعمل، كما يشير سهم «التراجع» في الرسم. ابدأ جلسة جديدة: القديمة مزدحمة بالمحاولات الفاشلة والوكيل يتشتت فيها. صِف المهمة من جديد وبحجم أصغر: لا «أصلح الحفظ»، بل «احفظ تمرينًا واحدًا مع تاريخه». الخطوة الصغيرة تُصلَح أسرع.

اختبر نفسك

  1. ترى في Network «POST /api/save 500». ماذا يعني ذلك؟
    الإجابة الصحيحة: خطأ في الخادم: افحص سجلات الخادم. الرمز 500 يعني خطأ في جهة الخادم. أما 404 فعنوان خاطئ، و401 أو 403 مشكلة في الصلاحية.
  2. ما الأفضل أن تكتبه للوكيل عن الخطأ؟
    الإجابة الصحيحة: الخطأ كاملًا والخطوات وما كنت تتوقعه. مع الخطأ الكامل والخطوات والنتيجة المتوقعة يرى الوكيل ما الذي تعطل وكيف يجب أن يكون. أما «لا يعمل» فلا يتيح له إلا التخمين.
  3. «أصلح» الوكيل خطأ بحذف التحقق من تسجيل الدخول. ماذا تفعل؟
    الإجابة الصحيحة: أتراجع وأطلب إيجاد السبب الحقيقي. بدون التحقق من تسجيل الدخول يستطيع أي شخص الكتابة في بيانات غيره. اختفى الخطأ لكن المشكلة تفاقمت: المطلوب هو السبب، لا حذف الحماية.

← السياق: ملف القواعد وMCP الفحص: لا تصدّق بالكلام فقط →