تكرار السؤال: …
الإجابة المختصرة
المراجعة الفعالة تركز على التصميم، الأمان، الأداء، ومنطق العمل، وتترك التنسيقات السطحية (المسافات والفواصل) لأدوات الفحص والتهيئة الآلية (Linters & Formatters).
الشرح
يجب ألا تستهلك مراجعة الكود في نقاشات عقيمة حول موضع القوس أو أسماء المتغيرات المتطابقة مع معايير الشركة؛ فهذه مهمة Pre-commit hooks و Linters. يجب أن يركز المراجع على: هل يعالج الكود متطلبات العمل؟ هل توجد ثغرات أمنية كحقن SQL؟ هل توجد حالات سباق في التزامن؟ هل الاختبارات كافية وذات جودة؟ مع تقديم تعليقات بناءة ومحترمة بصيغة اقتراحات وليس أوامر.
مثال بالكود
// Code under review
for (const id of orderIds) {
const order = await db.orders.findById(id) // N+1: one query per iteration
results.push(order)
}
// Review comment worth leaving: "This loop issues one query per id and will not scale in production.
// Can we fetch them in one query?" — not "add a space here" (a formatter should enforce that).
const results = await db.orders.findMany({ where: { id: { in: orderIds } } })أخطاء شائعة
- إرسال Pull Request عملاق يحتوي على 2000 سطر وتوقع مراجعة جيدة؛ يجب تقسيم التغييرات إلى PRs صغيرة لا تتجاوز 200-400 سطر.