Vibe Coding — تطبيقك الأول دون معرفة البرمجة — 4. البناء والتصحيح

11 min read min de lecture
الفصل 04

البناء والتصحيح

الفصل 4 من 10 · 40%

أهداف هذا الفصل

  • اختبار كل مرحلة قبل التقدم
  • تصحيح الأخطاء بالحوار مع الذكاء الاصطناعي
  • توفير المعلومات الصحيحة للتصحيح السريع

حلقة البناء-الاختبار-التصحيح

أرسلت الـ PRD المصغّر، وولّد الذكاء الاصطناعي أساس تطبيقك. تبدأ الآن المرحلة الأطول — والأكثر تكوينًا — في المشروع: البناء التكراري. الإيقاع هو نفسه دائمًا: تطلب شيئًا واحدًا، ينفّذه الذكاء الاصطناعي، تختبر فورًا، وحسب النتيجة تصادق أو تصحح. ثم تعيد مع الشيء التالي.

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

flowchart LR
  D["اطلب شيئًا واحدًا"] --> G["الذكاء الاصطناعي يولّد"]
  G --> T["اختبر فورًا"]
  T -->|"يعمل"| V["صادِق وانتقل للتالي"]
  T -->|"ينكسر"| E["انسخ الخطأ الحرفي"]
  E --> C["اطلب التصحيح"]
  C --> T
  V --> D
حلقة البناء: تغيير واحد فقط بين اختبارين، دائمًا.

اختبار كل مرحلة: قائمتك المرجعية

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

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

  • اختبر الحالة العادية: هل يعمل الإجراء الرئيسي؟
  • أعد تحميل الصفحة: هل البيانات لا تزال موجودة؟
  • اختبر حالة حدّية: حقل فارغ، قيمة غريبة، نقر مزدوج.
  • تحقق على الهاتف (أو بتضييق النافذة) إن كان تطبيقك mobile-first.

وحدة تحكم المتصفح: حليفك الأفضل

عندما ينكسر شيء دون تفسير ظاهر، تكون الإجابة دائمًا تقريبًا في وحدة تحكم المتصفح (console). اضغط F12 (أو نقرة يمنى ← «فحص/Inspecter»)، ثم افتح تبويب «Console». هناك يكتب المتصفح الأخطاء: أسطر حمراء، غالبًا بالإنجليزية، تشير إلى ما فشل وأين.

لست بحاجة لفهم هذه الرسائل — تحتاج فقط لنسخها. إليك شكل خطأ نموذجي:

text
Uncaught TypeError: Cannot read properties of null (reading 'addEventListener')
    at app.js:24:18

ترجمة حرة: «في السطر 24 من الملف app.js، يحاول الكود استخدام شيء غير موجود». هذا بالضبط نوع الدليل الذي يحتاجه الذكاء الاصطناعي للتصحيح برسالة واحدة بدل خمس. أخطاء شائعة ستصادفها: TypeError (الكود يتعامل مع قيمة من النوع الخطأ)، ReferenceError (يستخدم اسمًا غير موجود)، SyntaxError (الكود نفسه مكتوب بشكل خاطئ)، و404 Not Found (ملف لا يمكن العثور عليه).

تعلّم فتح وحدة تحكم المتصفح (F12) من الآن، قبل أن تحتاجها. هناك تختبئ رسائل الخطأ الأكثر فائدة — ونسخ سطر أحمر واحد قد يوفّر ساعة من التصحيح الأعمى.

موجّه التصحيح المثالي

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

PROMPT
خطأ يجب تصحيحه.
ما كنت أفعله: أنقر على «إضافة عادة» بعد كتابة «قراءة» في الحقل.
ما كنت أتوقعه: تظهر العادة في القائمة.
ما يحدث: لا شيء يظهر، والحقل يُفرَغ.
الخطأ في وحدة التحكم: Uncaught TypeError: Cannot read properties of null (reading 'addEventListener') at app.js:24:18
شخّص السبب وصحح، مع شرح بسيط لما كان خاطئًا.

لاحظ الجملة الأخيرة: «مع شرح بسيط لما كان خاطئًا». إنها التي تحوّل كل خطأ إلى درس. بعد عشرة تصحيحات، ستتعرف بنفسك على الأخطاء الشائعة — وستكتب طلبات تتجنبها من البداية.

عندما يدور الذكاء الاصطناعي في حلقة مفرغة

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

تذكّر أيضًا الخيار النووي: العودة إلى آخر نسخة كانت تعمل والانطلاق من هناك. هذا بالضبط دور Git، الذي نتحدث عنه حالًا — شبكة أمان تجعل التجارب بلا مخاطر.

إذا اقترح الذكاء الاصطناعي إعادة كتابة نصف تطبيقك لتصحيح خطأ صغير، احذر: اطلب أولًا «هل يمكنك تصحيح هذا بأقل تغيير ممكن؟». إعادات الكتابة الكبيرة غير المطلوبة كثيرًا ما تُدخل أخطاء جديدة.

الحفظ مع Git: شبكة أمانك

Git هو الأداة التي يستخدمها كل المطورين لحفظ تاريخ المشروع. الفكرة تتلخص في صورة: عند كل مرحلة تعمل، تأخذ «صورة» (commit أي حفظة) لمشروعك. إن ساءت تجربة ما، تعود إلى آخر صورة في لحظة. لم تعد بحاجة للخوف من الكسر: كل شيء قابل للتراجع.

إن كنت على أداة في المتصفح (Lovable أو v0 أو Bolt)، خبر سار: معظمها يدير تاريخ النسخ نيابة عنك — ابحث عن قائمة «History» أو «Versions» وحدد كيفية استعادة حالة سابقة. وإن كنت على Cursor أو Claude Code، اطلب ببساطة من الذكاء الاصطناعي القيام بالحفظات (commits) نيابة عنك، أو تعلّم الأوامر الثلاثة الأساسية:

bash
# عند كل مرحلة تعمل، خذ صورة للمشروع:
git add .
git commit -m "Ajout d'habitude fonctionne"

# لرؤية تاريخ صورك:
git log --oneline

الإيقاع الصحيح: حفظة (commit) بعد كل ميزة مختبَرة ومصادَق عليها. رسالة الحفظة تصف ما يعمل («التأشير اليومي OK»، «التقويم معروض»). يكتسب توم هذه العادة منذ المساء الأول — ويوم تكسر تجربة تصميم كل تخطيط صفحته، يعود إلى الوراء في ثلاثين ثانية بدل إعادة بناء كل شيء.

التقدم بخطوات صغيرة آمنة

ميزة مختبَرة وتعمل = نقطة ارتكاز صلبة. أنت تبني على المستقر، لا على الرمال. هذا ما يجنّب أثر «كل شيء معطّل ولا أعرف لماذا» الذي يثبّط كثيرًا من المبتدئين. التسلسل الكامل عند توم لكل ميزة: الطلب ← الاختبار ← التصحيح عند الحاجة ← الحفظ (commit) ← الانتقال للتالية.

لهذه المنهجية أثر جانبي ثمين: الثقة. كل خطوة صغيرة مصادَق عليها انتصار ملموس، والحماس يتغذى على الانتصارات. في نهاية الفصل، يفعل تطبيق توم كل ما خططته نسخته الأولى — الإضافة، الحذف، التأشير اليومي، السلسلة (streak) — وكل لبنة تم التحقق منها. إنه جاهز للنشر.

🛠️ حان دورك

السياق

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

التعليمات

  1. اختبر الميزة الجديدة فور توليدها، كمستخدم حقيقي.
  2. أعد تحميل الصفحة للتحقق من استمرار البيانات.
  3. افتح وحدة التحكم (F12) وحدد السطر أو الأسطر الحمراء إن وُجدت.
  4. اكتب تقرير خطأ من 4 نقاط: ما كنت تفعله، ما كنت تتوقعه، ما حدث، الخطأ الحرفي منسوخًا.
  5. أرسل التقرير إلى الذكاء الاصطناعي طالبًا تصحيحًا بأقل تغيير وشرحًا بسيطًا.
  6. طبّق التصحيح وأعد اختبار الحالة العادية وحالة حدّية.
  7. عندما يعمل كل شيء، احفظ: حفظة Git أو نقطة استعادة في أداتك.
تلميح — «لا يعمل» لا تكفي أبدًا: أعطِ الخطأ الحرفي والسياق. وإن فشل الذكاء الاصطناعي مرتين متتاليتين في التصحيح نفسه، غيّر الاستراتيجية — أعد بناء الميزة من الصفر أو اطلب console.log للتشخيص.

باختصار

  • الإيقاع: طلب شيء واحد، اختبار فوري، تصحيح، حفظ، إعادة.
  • اختبر كمستخدم: الحالة العادية، إعادة تحميل الصفحة، الحالات الحدّية.
  • وحدة تحكم المتصفح (F12) تكشف رسائل الخطأ الحقيقية — انسخها كما هي.
  • تقرير الخطأ المثالي: ما كنت تفعله، ما كنت تتوقعه، ما حدث، الخطأ الحرفي.
  • اطلب دائمًا شرحًا بسيطًا مع التصحيح: كل خطأ يصبح درسًا.
  • إن دار الذكاء الاصطناعي في حلقة: أعد بناء الميزة من الصفر، أضِف تشخيصًا، أو أعد الصياغة.
  • Git (أو تاريخ أداتك) يجعل كل شيء قابلًا للتراجع: حفظة بعد كل مرحلة مصادَق عليها.
  • التقدم بخطوات صغيرة مختبَرة يجنّب أثر «كل شيء معطّل ولا أعرف لماذا».

اختبار — تحقّق من فهمك

1. ماذا توفّر للتصحيح الفعال؟

الخطأ الحرفي من وحدة التحكم مع النقاط الأربع لتقرير الخطأ يتيحان تشخيصًا فوريًا.

2. لماذا تختبر في كل مرحلة؟

مع تغيير واحد بين اختبارين، المذنب في أي خطأ هو دائمًا الطلب الأخير.

3. كيف تفتح وحدة تحكم المتصفح؟

وحدة التحكم مدمجة في كل المتصفحات: F12 وتبويب Console يكفيان لرؤية الأخطاء بالأحمر.

4. فشل الذكاء الاصطناعي مرتين متتاليتين في تصحيح الخطأ نفسه. ماذا تفعل؟

الإصرار على طريق فاشل يجعلك تدور في حلقة. الانطلاق من جديد في الميزة غالبًا أسرع.

5. متى تقوم بحفظة Git (أو نقطة استعادة)?

حفظة لكل مرحلة تعمل = شبكة أمان دائمة. إن كسرت تجربة كل شيء، تعود للوراء في ثلاثين ثانية.

Auteur(s)

R

REHOUMA Haythem

Haythem Rehouma est un ingénieur et architecte IA et cloud, formateur et enseignant technique, avec un profil orienté IA médicale, AWS, MLOps, LLM/RAG et vision par ordinateur.