الخلاصة والمصادر
الخلاصة النهائية
- 1. المشهد: الأداة غيّرت سرعة الكتابة، لا موقع القرار. المهندس هو من يحدّد ما يعنيه «صحيح».
- 2. التثبيت: لا تمضِ قبل أن ترى النص الرمادي وتسمع ردّ المحادثة. التحقّق خطوة لا تفاؤل.
- 3. إكمال ومحادثة: الإكمال يسرّع الطباعة، والمحادثة تسرّع الفهم. و
"yes" == trueليستBoolean("yes")، والمقارنة بالتشغيل هي ما كشف الفرق. - 4. الوضع الوكيل:
exit 0يعني «انتهى بلا استثناء» لا «الكود صحيح». ملف يطبع ولا يفحص ليس اختبارًا، وخرّبنا الكود فظهرroll(6) -> 7على نرد سداسي ومرّ. - 5. السياق والقواعد: السياق هو المنتج. وقاعدة مكتوبة مرة واحدة في
AGENTS.mdتنتقل مع المشروع إلى كل جلسة وكل زميل. - 6. تطبيق كامل: عقد ثم اختبار ثم كود. وأمسك سطر تحقّق واحد باقتراح أقصر وأجمل كان يحذف المهمة الخطأ ويُرجع
true. - 7. الفخّ: ما يُضعف مهارتك دمج ما لا تفهمه. والدليل تشغيل أو توثيق، لا نبرة واثقة ولا سؤال «هل أنت متأكّد؟».
- 8. مصمّم الواجهات: الواجهة عقد يُكتب قبل الكود: متطلبات بلغة عادية، ثم موارد بأسماء لا أفعال، ثم جدول مسارات يحمل المنهج والصلاحية، ثم ملف OpenAPI بمخططات مربوطة بـ$ref. والمدقّق يحكم على الصياغة لا على المعنى، فالجودة تبقى قرارك.
الخيط الذي يربط السبعةفي كل جزء كان الاقتراح يبدو سليمًا، وفي كل مرة كشفه شيء واحد: التشغيل.
Boolean(u.subscribed) بدت أوضح وغيّرت السلوك، واختبار الوكيل بدا كافيًا ولم يفحص شيئًا، وsplice/findIndex بدا أقصر وحذف المهمة الخطأ، وflatten() بدت موجودة ولم تكن. الفرق بين مهندس يستخدم الذكاء ومستخدم يلصق كودًا هو هذه الخطوة الواحدة: أن تملك مقياسًا لا يصدّق المظهر.المعجم الكامل
| المصطلح | التعريف | الجزء |
|---|---|---|
| الإكمال السطري | اقتراح رمادي يظهر أثناء الكتابة ويُقبل بـTab؛ يسرّع الطباعة لا التفكير. | ٣ |
| المحادثة | حوار تطلب فيه شرحًا أو حلًّا، ومخرجه نصّ تقرأه وتنسخه بنفسك. | ٣ |
| الوضع الوكيل | وضع يكتب فيه المساعد على ملفاتك فعلًا ويشغّل أوامر داخل حلقة تصحيح ذاتي. | ٤ |
| diff | عرض التغيير سطرًا سطرًا: + أُضيف و- حُذف. نقطة التحكّم الوحيدة قبل الكتابة. | ٤ |
| رمز الخروج | رقم يعيده البرنامج عند انتهائه: 0 انتهى بلا استثناء، وغير الصفر فشل. | ٤ |
| تحقّق (assertion) | جملة تقول «يجب أن تكون القيمة كذا» وتفشل إن لم تكن. ما يميّز الاختبار عن الطباعة. | ٤ |
| نافذة السياق | كل ما يراه النموذج قبل أن يجيب: سؤالك والملفات والقواعد. محدودة دائمًا. | ٥ |
| الفهرسة | بناء فهرس لمشروعك ليُجيب عن أسئلة تمسّ ملفات لم تفتحها؛ يعني أن الكود يُقرأ ويُرسل. | ٥ |
| ملف القواعد | AGENTS.md أو ملفات .mdc داخل .cursor/rules؛ تعليمات تُقرأ مع كل طلب. | ٥ |
| الإشارة @ | تحميل ملف أو مجلد أو رمز بعينه إلى نافذة السياق، أدقّ من الفهرسة التلقائية. | ٥ |
| العقد | جملتان تحدّدان المدخل والمخرج والحدود قبل كتابة أي كود؛ ما يلتزم به المساعد. | ٦ |
| النطاق والنقل | فصل القرارات (store.js) عن الشبكة (server.js) ليُختبر المنطق بسرعة وتُراجع القرارات في مكان واحد. | ٦ |
| الحالات الحدّية | فارغ، غير موجود، نوع خاطئ، عملية مكرّرة. هناك تسكن معظم الأخطاء. | ٦ |
| اختبار المسار السعيد | تحقّق من الحالة الطبيعية فقط؛ يمرّ دائمًا تقريبًا ويخفي أخطاء الحدود. | ٦ |
| الاختراع المعقول | اسم دالة أو حزمة غير موجود يكتبه النموذج بثقة لأنه يشبه الأسماء الحقيقية. | ٧ |
| الحزمة المخترعة | اسم حزمة لا وجود له؛ قد ينشره شخص غريب فيصير تثبيتك تشغيلًا لكوده. | ٧ |
| دَين المعرفة | كل سطر في مشروعك لا تستطيع شرحه؛ يُسدّد بالقراءة لا بسؤال المساعد. | ٧ |
| البروتوكول | سبعة أسئلة قبل كل دمج، أهمّها: أستطيع أن أشرحه؟ وأوقّع عليه باسمي؟ | ٧ |
| المورد (resource) | نوع الشيء الذي تتيح الواجهة قراءته أو تغييره؛ يُسمّى باسم لا بفعل، وبصيغة الجمع للمجموعات | 8 |
| نقطة النهاية (endpoint) | مسار ومنهج HTTP معًا، مثل GET /books/3؛ لا المسار وحده | 8 |
| OpenAPI | صيغة YAML أو JSON تصف الواجهة وصفًا تقرؤه الآلات: المسارات والمعاملات والأجسام والاستجابات والمصادقة | 8 |
| المخطّط (schema) | شكل قطعة بيانات: حقولها وأنواعها وأيّها مطلوب | 8 |
| $ref | إشارة إلى تعريف مكتوب مرة واحدة في components، فيبقى للشكل مصدر حقيقة واحد | 8 |
| الاستجابة الوهمية (mock) | مثال مكتوب يدويًا لما سترجعه الواجهة، يُجرَّب به التصميم قبل وجود أي كود | 8 |
| diff | الفرق بين نسختين، وهو ما تراجعه لا المستودع كله. | 9 |
| سيناريو الفشل | مدخل محدد يجعل الكود يخطئ. | 9 |
| أداة ثابتة | تحلّل الكود دون تشغيله، مثل ruff وeslint. | 9 |
| الوصف المنظّم | المستخدم، المهمة، المحتوى، الحالات، القيود، الوصول. | 10 |
| تعديل صغير | طلب تغيير محدد قابل للتحقق بدل إعادة الطلب. | 10 |
| aria-current | يعلن العنصر الحالي في سلسلة للشاشة القارئة. | 10 |
| المتطلبات غير الوظيفية | الحمل والزمن والإتاحة والكلفة، بأرقام. | 11 |
| ADR | سجل قرار معماري: السياق والقرار والبدائل والعواقب. | 11 |
| C4 | نموذج مخططات بمستويات: السياق، الحاويات، المكوّنات، الكود. | 11 |
| هلوسة API | دالة أو وسيط غير موجود في الإصدار المثبّت. | 12 |
| slopsquatting | تسجيل مهاجم لاسم حزمة تخترعه النماذج. | 12 |
| الحالة الحدية | مدخل عند الأطراف: فارغ، صفر، كبير جدًا. | 12 |