ฝึกตรวจทานโค้ด · 8 MIN

ตรวจทานการเปลี่ยนแปลงที่ AI สร้าง

ตรวจ endpoint สั้น ๆ ตัดสินใจว่าต้องมีหลักฐานใดก่อนยอมรับการเปลี่ยนแปลง

สถานการณ์

AI assistant เสนอ endpoint สำหรับใบแจ้งหนี้ ผู้ใช้ที่เข้าสู่ระบบแล้วต้องเห็นเฉพาะใบแจ้งหนี้ขององค์กรตน คุณกำลังตรวจทานการเปลี่ยนแปลงก่อน release

สิ่งที่ต้องทำ

  1. อ่านโค้ดและคำอธิบายภาษาทั่วไป ไม่ต้องรันโค้ด
  2. เลือกทุกการตรวจสอบที่จำเป็นก่อนยอมรับงาน ตรวจคำตอบ อ่านเหตุผล และลองอีกครั้งหากยังขาดการตรวจสอบ
ต้องการพื้นฐานเพิ่มเติม อ่านบทเรียน

คุณตรวจทาน PR นี้ Feature ต้องคืนใบแจ้งหนี้ให้เฉพาะผู้ใช้ที่ยืนยันตัวตนแล้วในองค์กรเดียวกัน ส่วนโค้ดที่แสดงนี้ไม่ครบทั้งหมด

// 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);
});
โค้ดทำอะไร

Endpoint รับ invoice ID จากคำขอ ดึงใบแจ้งหนี้นั้น บันทึกใบแจ้งหนี้ทั้งหมดลง log และส่งกลับ ส่วนโค้ดนี้ไม่แสดงว่าใครตรวจสิทธิ์ของผู้ใช้ต่อใบแจ้งหนี้นี้

Authentication ตรวจว่าผู้ใช้เป็นใคร Authorization ตรวจว่าผู้ใช้ทำอะไรได้ Middleware คือโค้ดที่ประมวลผลคำขอก่อน endpoint นี้ อาจมีการตรวจที่ไม่ปรากฏในส่วนโค้ดนี้

เลือกการตรวจทานที่จำเป็นทั้งหมด

ขั้นสุดท้าย

คำขอที่สำเร็จพิสูจน์หรือไม่ว่า endpoint ใบแจ้งหนี้ปลอดภัย

เปรียบเทียบคำตอบกับคำอธิบาย

ไม่ พิสูจน์เพียงว่าคำขอหนึ่งทำงานได้ คุณยังต้องมีหลักฐานว่าผู้ใช้อ่านใบแจ้งหนี้ขององค์กรอื่นไม่ได้ ตรวจเส้นทางคำขอทั้งหมด พฤติกรรมเมื่อไม่มีระเบียน และการบันทึก log Test ที่สำเร็จต้องครอบคลุมข้อกำหนดที่สำคัญ

นำไปใช้ในงาน

ในการตรวจทาน PR ครั้งถัดไป เพิ่ม test หนึ่งรายการสำหรับการกระทำที่ต้องถูกปฏิเสธ

เลือกแบบฝึกหัดอื่น