الدرس 8 من 8

افشل مبكرًا

هدف الدرس

الخطأ عند سببه لا بعده

01

الشرح

أسوأ الأخطاء ما يظهر بعيدًا عن سببه: خصم بنسبة 150% يُنتج سعرًا سالبًا، يمرّ في ثلاث دوال، ثم يظهر في الفاتورة ولا أحد يعرف من أين جاء.

الثابت (invariant) شرط يجب أن يصدق دائمًا: السعر رقم غير سالب، والنسبة بين 0 و100. وassert(condition, message) يفحصه في أول الدالة ويرمي فورًا إن كذب، فيقع الخطأ عند سببه لا بعده بثلاث خطوات.

والرسالة نصف الإصلاح: «قيمة غير صالحة» لا تفيد أحدًا. قل ما المتوقَّع وما الذي وصل فعلًا، فيعرف قارئ الخطأ أين يبحث من سطره الأول.

02

المطلوب

اكتب assert(condition, message) ترمي Error برسالتها إن كذب الشرط، واستعملها في أول applyDiscount: السعر رقم غير سالب، والنسبة بين 0 و100 والحدّان مقبولان، ورسالة النسبة تذكر القيمة التي وصلت.

معايير التصحيح

5 معايير
  1. assert تصمت حين يصدق الشرط
  2. assert ترمي Error برسالتها حين يكذب
  3. النسبة فوق 100 تُرفض برسالة تذكر قيمتها
  4. السعر غير الصالح يُرفض
  5. المدخلات السليمة تمرّ، والحدّان مقبولان
index.html
المعاينة
index.html100%
–/5

اضغط «تشغيل» ليبدأ الفحص.

5 معايير في بطاقة «المطلوب».