تمرين مراجعة الشيفرة · 8 د
راجع تغييراً مولّداً بالذكاء الاصطناعي
افحص نقطة نهاية قصيرة. قرّر الأدلة التي تحتاجها قبل قبول التغيير.
الموقف
يقترح مساعد ذكاء اصطناعي نقطة نهاية للفواتير. يجب أن يرى المستخدم المسجّل دخوله فواتير مؤسسته فقط. أنت تراجع التغيير قبل إصداره.
ما المطلوب؟
- اقرأ الشيفرة وشرحها بلغة بسيطة. لا تحتاج إلى تشغيلها.
- اختر كل فحص مطلوب قبل القبول. تحقّق من إجاباتك واقرأ الأسباب وحاول مجدداً إذا غاب فحص.
أنت تراجع طلب الدمج هذا. يجب ألا تعيد الميزة فاتورة إلا لمستخدم تم التحقق من هويته في المؤسسة نفسها. المقتطف غير مكتمل.
// Fictional, incomplete example. Do not deploy.
app.get('/invoices/:id', async (req, res) => {
const invoice = await db.invoice.findUnique({
where: { id: req.params.id }
});
console.log('Invoice response', invoice);
return res.json(invoice);
});ماذا تفعل الشيفرة؟
تأخذ نقطة النهاية معرّف فاتورة من الطلب، وتجلبها، وتسجّلها كاملة، وتعيدها. لا يوضّح المقتطف من يفحص حق المستخدم في هذه الفاتورة.
تفحص المصادقة هوية المستخدم. ويفحص التخويل ما يحق له فعله. البرمجيات الوسيطة شيفرة تعالج الطلب قبل نقطة النهاية هذه. وقد تتضمن فحوصاً غائبة عن المقتطف.
لإكمال التمرين
هل يثبت طلب ناجح أن نقطة نهاية الفواتير آمنة؟
قارن إجابتك بالتفسير
لا. يثبت أن طلباً واحداً نجح. وتحتاج أيضاً إلى أدلة على عدم قدرة مستخدم على قراءة فاتورة مؤسسة أخرى. افحص مسار الطلب كاملاً والسلوك عند غياب السجل والتسجيل. يجب أن يغطي الاختبار الناجح المتطلب المهم.
استخدم هذا في عملك
في مراجعة طلب الدمج التالية، أضف اختباراً واحداً لفعل يجب رفضه.
اختر تمريناً آخر