محتويات الدورة

اختبار API / متقدم: دليل ذو إصدار ومراجعة / الدرس 15

بناء دليل فشل يحفظ السياق

ربط التأكيدات وسجلات الأحداث المختلقة وفرضيات الحدود دون كشف حمولات خاصة.

وقت القراءة التقريبي: 4 دقيقةتاريخ مراجعة المحتوى
في هذه الصفحة

أهداف الدرس

  • التمييز بين العرض وتفسير السبب المدعوم.
  • تصميم تشخيص منظم صغير ومقارنة المحاولات بالآثار.

فصل الملاحظة عن التفسير

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

تفضيل سجلات تشخيص بقائمة سماح

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

python فحص إسقاط تشخيص مختلق صغير
observation = {"case":"duplicate-add", "operation":"add-book", "outcome":"conflict", "correlation":"lab-17", "privateNote":"classroom-only"}
allowed = ("case", "operation", "outcome", "correlation")
diagnostic = {key: observation[key] for key in allowed}
assert "privateNote" not in diagnostic
assert diagnostic["case"] == "duplicate-add"
assert len(diagnostic) == 4
print("diagnostic allowlist checked")
الناتج المتوقع
diagnostic allowlist checked

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

عد المحاولات والآثار المعتمدة منفصلة

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

python تفسير تسلسل أحداث مختلق
events = [{"kind":"attempt","action":"a1"}, {"kind":"attempt","action":"a1"}, {"kind":"commit","action":"a1"}]
attempts = sum(e["kind"] == "attempt" for e in events if e["action"] == "a1")
commits = sum(e["kind"] == "commit" for e in events if e["action"] == "a1")
assert (attempts, commits) == (2, 1)
print("two attempts and one commit observed")
الناتج المتوقع
two attempts and one commit observed

يحسب البرنامج الكامل الأعداد من ثلاثة سجلات محلية صريحة. لا يستقبل رصدا حقيقيا ولا يثبت اكتمال الأحداث أو الثقة بها. يجب ربط فئة الاعتماد بحد دائم موثق عند التشخيص الفعلي.

استخدام دليل زمني بساعات مناسبة

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

التحقق من فرضية السبب بعد إصلاح محدد

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

الأخطاء الشائعة وإصلاحها

تغلق إعادة ناجحة فشلا غير مفسر

لماذا يحدث؟
لم تحفظ الملاحظة الأصلية.
كيف تصلحه؟
التقط الاختلاف وأعد الحد الحاسم.
كيف تتجنب تكراره؟
احتفظ بأثر الفشل وافصل العرض المتقلب عن سببه.

تنسخ أجسام الطلبات في كل تقرير فشل

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

يوصف عدد المحاولات بأنه عمل معتمد

لماذا يحدث؟
لا تفصل الفئات النقل وآثار العمل.
كيف تصلحه؟
اربط المحاولات بالآثار الدائمة وفق الحد الموثق.
كيف تتجنب تكراره؟
احتفظ بعدادات مستقلة وافحص الحالة.

اختبر فهمك

1. تظهر محاولتان واعتماد واحد. هل يثبت ذلك صحة الإعادة؟

اعرض الحل المشروح

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

2. ينسب تقرير التكرار للقاعدة لأن الواجهة أعادت معرفين. حسنه.

اعرض الحل المشروح

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

أهم ما تعلمته

  • لا يحدد العرض سببه وحده.
  • يحفظ الدليل المنظم الصغير المعنى دون نسخ الحمولات.
  • اربط المحاولات والآثار الدائمة والحالة بحدود صريحة.

المراجع الرسمية