تجاوز إلى المحتوى
العربية
المستوى 5: ابنِ مع Claude
الدرس 5 · +10 XP

أظهِر، لا تَصِف

ثمّة طريقة أسرع لإيصال مشكلة إلى Claude من وصفها نثرًا: سلّم Claude الأثر الفعلي نفسه.

إن استطعت إظهار الـ bug، فأظهِره. الوصف هو المسار البطيء.

هذه هي الحركة التي تحوّل debugging sessions تستغرق 30 دقيقة إلى أخرى من 30 ثانية — حين تتوقّف عن ترجمة المشكلة إلى كلمات وتكتفي بإلصاق الدليل.

الآثار الثلاثة الجديرة بالإلصاق

مرتّبة بحسب تكرار جدواها:

1. رسائل الـ error — النص الكامل، والـ stack trace كاملًا.

لا تلخّص. لا تُعِد الصياغة. انسخ رسالة الـ error بأكملها، بما في ذلك مسارات الملفات وأرقام الأسطر في الـ stack trace. تلك قرائن. يستطيع Claude قراءتها.

سيّئ: «تصلني نوعٌ ما من أخطاء null».

جيّد: ألصق الـ error الفعلي.

TypeError: Cannot read properties of undefined (reading 'name')
    at UserCard.render (src/components/UserCard.tsx:14:32)
    at processChild (react-dom.js:2841:18)

رقم السطر وحده يكون أحيانًا هو الحلّ كلّه.

2. مخرجات الـ test الفاشل.

إن كان test يفشل، فألصق ما يقوله. عادةً ما تتضمّن مخرجات الـ test القيمة المتوقّعة والقيمة الفعلية معًا — وكلتاهما context حاسم لا يمكن لـ Claude معرفته بطريقة أخرى.

سيّئ: «test المستخدم يفشل».

جيّد: ألصق الـ assertion والـ diff بين المتوقّع والفعلي.

3. الـ screenshots — لأي شيء بصري.

التخطيط معطوب؟ التباعد خطأ؟ اللون غير مضبوط؟ الكلمات لا تنفع هنا. الـ screenshots تنفع. Claude Code يقبل الصور — اسحب واحدة إلى الـ terminal أو أشِر إلى مسارها.

سيّئ: «الشريط الجانبي يبدو غريبًا على الجوّال».

جيّد: screenshot للشريط الجانبي المعطوب.

لماذا تفشل الأوصاف

حين تصف bug، فأنت تجري ترجمتين: كود ← فهمك ← كلماتك ← قراءة Claude ← فهم Claude ← الإصلاح. كل خطوة تفقد دقّة. وحين يصل الـ prompt، يكون «الزر منزاح قليلًا» قد صار يعني مئة شيء.

حين تُلصق الأثر، تتخطّى ذلك كلّه. يرى Claude ما تراه أنت.

العقليّة

إن وجدت نفسك تكتب فقرة تبدأ بـ «يبدو أنّ…» أو «أظنّ أنّ الـ error هو…» — توقّف. لا تفكّر. لا تنظّر. ألصق الشيء.

احفظ أوصافك لما لا يستطيع أثرٌ إظهاره: القصد. «أريد أن يفشل هذا بسلاسة بدلًا من أن ينهار» — هذا وصف يستحقّ الكتابة، لأنه ما من أثرٍ في الـ terminal يحوي تلك الفكرة.

ما التالي

كل ما سبق كان عن تغييرات مفردة — ملف واحد، feature واحدة، إصلاح واحد. الدرس التالي هو الانطلاقة: تغييرات تمتدّ عبر الـ codebase كلّه. النوع الذي يخشاه البشر ويلتهمه Claude على الإفطار.