brainax

الفحص: لا تصدّق بالكلام فقط

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

«تم» لا تعني «يعمل»

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

جرّب رابط المعاينة

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

الاختبارات الآلية: فاحصون آليون

الاختبار الآلي برنامج صغير يفحص كودك. مثال: «إذا كانت هناك ثلاثة تمارين متتالية، تُظهر السلسلة 3». اطلب من الوكيل كتابة اختبارات للميزة الجديدة وتشغيلها، وغالبًا يكون ذلك بالأمر npm test. الفائدة: حين يغيّر الذكاء الاصطناعي شيئًا في المرة القادمة، تكشف الاختبارات فورًا ما الذي تعطل. والفخ: اختبار ينجح دائمًا. اقرأ أسماء الاختبارات: يجب أن تصف السلوك الحقيقي.

CI: فحص لكل PR

CI (continuous integration، أي التكامل المستمر): يشغّل GitHub بنفسه الاختبارات والبناء لكل PR، مثلًا عبر GitHub Actions. البناء خطوة تحوّل مشروعك إلى ملفات الموقع الجاهزة. ترى النتيجة داخل الـ PR نفسه: علامة صح خضراء أو علامة خطأ حمراء، كما في البطاقة في الرسم. أحمر؟ لا تعمل merge: افتح السجل وأعطِ الخطأ للوكيل. ويمكنك أن تطلب من الوكيل نفسه إعداد CI.

اقرأ الـ diff قبل الدمج

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

قائمة تحقق قبل الدمج

باختصار، خمسة بنود قبل الدمج. المعاينة مفحوصة من الهاتف ومن الحاسوب. الاختبارات خضراء. CI أخضر. الـ diff مقروء: لا مفاتيح، ولا تحققات محذوفة، ولا حزم غريبة. رسائل الـ commit واضحة. كل شيء سليم؟ اعمل merge وستحدّث الاستضافة الموقع الحي. هناك خلل؟ أصلحه في الفرع نفسه. قاعدة البطاقة في الرسم: افحص أولًا، ثم ادمج. تدرّب في محاكي GitHub.

اختبر نفسك

  1. كتب الوكيل «تم، كل شيء يعمل». ما التالي؟
    الإجابة الصحيحة: تفحص المعاينة والاختبارات بنفسك. كلمة «تم» من الوكيل ليست دليلًا. ربما لم يشغّل الكود أو فحص حالة واحدة فقط. المعاينة والاختبارات تكشف الحقيقة.
  2. ما هو CI؟
    الإجابة الصحيحة: يشغّل GitHub الاختبارات بنفسه لكل PR. CI (التكامل المستمر) يشغّل الاختبارات والبناء تلقائيًا لكل PR ويضع علامة خضراء أو حمراء.
  3. في الـ diff حُذف تحقق لم تطلب حذفه. ماذا تفعل؟
    الإجابة الصحيحة: أسأل الوكيل «لماذا؟» قبل الدمج. الاختبارات الخضراء لا تكشف كل شيء، فقد لا تلاحظ تحققًا محذوفًا. افهم الأمر قبل الدمج، قبل أن يصل التغيير إلى الموقع الحي.

← الأخطاء البرمجية: نقرأ الخطأ مساعدو الوكيل: المهارات ومراجعة الذكاء الاصطناعي →