تخطَّ إلى المحتوى
CodeFounders

بنيت تطبيقاً باستخدام Cursor؟ راجع الكود والاختبارات وعملية الإصدار قبل الإطلاق

دليل مراجعة كود تطبيق مبني باستخدام Cursor: افحص تغييرات الإصدار والقواعد الأساسية والاعتماديات، ووثّق الاختبارات والنشر والتعافي والتسليم.

في هذه الصفحة
  1. ١. حدد الإصدار وافحص التغيير كاملاً
  2. ٢. اكتب القواعد التي يجب ألا تُخرق
  3. مقارنة أصلية: اختبار ناجح للحالة المعتادة يفوّت خطأين
  4. ٣. اجعل الاختبار يكشف الخطأ المقصود
  5. ٤. راجع الاعتماديات ضمن الإصدار
  6. ٥. افصل استعادة التعديلات عن التراجع في الإنتاج
  7. ٦. سلّم معلومات تشغيل واضحة

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

يصف توثيق Agent تعديل الكود وتشغيل أوامر الطرفية. أداة كتابة الكود لا تحدد وحدها الخادم أو الاستضافة أو إعدادات الإنتاج؛ افحص المشروع الفعلي. المثال الأصلي أدناه كود تعليمي كتبناه، وليس مخرجاً من Cursor أو نتيجة تدقيق لعميل.

١. حدد الإصدار وافحص التغيير كاملاً

سجل المستودع ومعرّف الالتزام والفرع وبيئة التشغيل ومخازن البيانات والخدمات الخارجية ووجهة النشر. قارن الإصدار المقترح بسابقه، وأدرج الإعدادات وترحيلات البيانات وملفات الاعتماديات والقفل والاختبارات المحذوفة إلى جانب كود التطبيق.

يوصي دليل المراجعة والاختبار بفحص التغييرات والحالات التي قد يغفلها كود يبدو صحيحاً. حدد السلوك المتغير من الفروقات، ثم اقرأ مواضع استدعائه وآثاره اللاحقة. قد يغيّر تعديل صغير في دالة مشتركة الصلاحيات أو الفوترة أو البيانات خارج الشاشة المعدلة.

٢. اكتب القواعد التي يجب ألا تُخرق

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

اربط كل قاعدة بالعملية الخلفية أو الخدمة الموثوقة التي تفرضها. الدور القادم من المتصفح ليس مصدر صلاحية. اختبر المستخدم العادي وحساباً آخر وموظفاً محدود الصلاحية وحالة الخروج من الحساب. تحقق من أن الإجراء المرفوض لا يغير البيانات ولا يطلق أثراً خارجياً غير مقصود.

مقارنة أصلية: اختبار ناجح للحالة المعتادة يفوّت خطأين

في ٢ نوفمبر ٢٠٢٦ شغّلنا مثال Python محلياً كتبناه لهذا المقال. تتحقق دالة «قبل» غير المكتملة عمداً من عدم تجاوز الكمية للمخزون، ثم تطرحها. لكنها تتجاهل علامة الصلاحية ولا تفحص الحد الأدنى للكمية.

عند توافر 10 وحدات، يعيد حجز 3 وحدات النتيجة 7 في النسختين. لكن النسخة غير المكتملة تقبل −1 فترفع المخزون إلى 11، وتسمح بحجز 3 وحدات رغم أن علامة الصلاحية تشير إلى عدم السماح. تتحقق النسخة المضبوطة من الصلاحية ومن كون الكمية عدداً صحيحاً موجباً قبل التعديل.

أكدت ثمانية فحوص المقارنة التالية:

  1. تعيد الحالة المعتادة المصرح بها النتيجة 7 في النسختين.
  2. تزيد النسخة غير المكتملة المخزون عند كمية سالبة.
  3. تسمح النسخة غير المكتملة لشخص غير مخول بتغيير المخزون.
  4. ترفض النسخة المضبوطة الكمية السالبة دون تغيير البيانات.
  5. ترفض الصفر دون تغيير البيانات.
  6. ترفض الشخص غير المخول دون تغيير البيانات.
  7. ترفض الكمية التي تتجاوز المخزون دون تغيير البيانات.
  8. ترفض الكمية التي ليست عدداً صحيحاً دون تغيير البيانات.

حدود المثال: يستخدم علامة صلاحية اصطناعية ومخزوناً في الذاكرة. لا يختبر مصادقة حقيقية أو مسارات HTTP أو معاملات قاعدة البيانات أو الحجوزات المتزامنة أو الاعتماديات أو تطبيقاً منشوراً. لا ندّعي اكتشاف خطأ ولّده Cursor؛ نوضح لماذا لا تثبت حالة نجاح واحدة سلامة قواعد العمل.

٣. اجعل الاختبار يكشف الخطأ المقصود

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

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

٤. راجع الاعتماديات ضمن الإصدار

افحص الحزم المضافة والإصدارات المثبتة وتغييرات ملف القفل وأوامر دورة التثبيت. راجع التنبيهات الحالية المناسبة وإرشادات الترقية لدى المشرفين. حدد هل تؤثر المشكلة على الإصدار ومسار التشغيل المستخدمين؛ خلو تقرير آلي من التحذيرات لا يثبت انعدام الخطر.

في مشاريع npm، يشرح توثيق npm ci التثبيت النظيف من ملف قفل موجود، ورفض التثبيت عند اختلافه عن package.json. استخدم آلية مناسبة لمدير حزم مشروعك وسجل بيئة التشغيل والإعدادات. مثالنا التعليمي يستخدم مكتبة Python القياسية فقط؛ لم ننفذ تدقيق اعتماديات لتطبيق فعلي.

٥. افصل استعادة التعديلات عن التراجع في الإنتاج

يوثق Cursor نقاط تحقق محلية مستقلة عن Git. تساعد النقطة على التراجع عن تعديلات الملفات، لكنها لا تثبت إمكانية عكس نشر أو ترحيل بيانات أو دفعة خارجية.

سجل نسخة الإصدار السابقة وإعداداتها وتوافقها مع البيانات. قد يفشل التراجع عن الكود إذا عجز الإصدار القديم عن قراءة مخطط البيانات الجديد. اتفق على نسخة احتياطية وإجراء تعافٍ، واختبره في بيئة معزولة، وسمّ المسؤول عنه. لا تجرب استعادة قد تمحو بيانات العملاء على الإنتاج.

٦. سلّم معلومات تشغيل واضحة

وثّق تشغيل التطبيق واختباره ونشره وأسماء متغيراته المطلوبة ومكان ظهور الأخطاء وطريقة تتبّع مسار فاشل دون كشف الأسرار. يشرح دليل Rules تعليمات المشروع المحفوظة مع الإصدارات. سجل الأعراف المفيدة فيها، وأبقِ بيانات الدخول الفعلية خارج المستودع. تدعم التعليمات الاتساق لكنها لا تثبت تطبيق القواعد.

تنتهي مراجعة كود مولّد بالذكاء الاصطناعي بنتائج قابلة للتكرار وإصلاحات مرتبة وإعادة اختبار وحدود واضحة. تراجع خدمة فحص جاهزية التطبيقات المبنية بالذكاء الاصطناعي مخاطر التطبيق والبيانات والنشر ضمن نطاق متفق عليه لتطبيقات Cursor وغيرها. تُحدد الإصلاحات بصورة منفصلة؛ المراجعة ليست شهادة أمنية.

ناقش معنا مراجعة الكود وجاهزية تطبيقك المبني باستخدام Cursor.

النشرة البريدية

تصلك المقالات الجديدة بالبريد

ملاحظات عملية عن بناء المنتجات البرمجية وإدارة التسليم للعملاء. رسائل قليلة شهرياً، بلا إزعاج، وإلغاء الاشتراك بنقرة.

سنرسل رسالة واحدة لتأكيد بريدك.