في الفرق الكبيرة، تتم مراجعة كل طلب سحب (PR) بواسطة مهندس واحد على الأقل. في Sage Ideas، أنا المهندس الوحيد. لا أحد يراجع كودي.
هذه مشكلة. ليس لأني أكتب كودًا سيئًا — بل لأني أعمى عن افتراضاتي الخاصة. كل مطور يعاني من هذا.
لقد طورت عملية مراجعة ذاتية تلتقط معظم ما كانت ستلتقطه عين ثانية. إنها ليست مثالية، لكنها أفضل بشكل كبير من "يبدو جيدًا، ادمج."
قاعدة الـ 24 ساعة
أنا لا أراجع أبدًا كودًا كتبته اليوم. الحد الأدنى للفاصل الزمني بين الكتابة والمراجعة هو 24 ساعة. ويفضل 48 ساعة.
قد يبدو هذا بطيئًا. لكنه في الواقع سريع. في تلك الـ 24 ساعة، أعمل على بناء شيء آخر. عندما أعود للمراجعة، أكون قد نسيت جزئيًا تنفيذي. هذا النسيان هو الهدف — فهو يسمح لي بقراءة الكود كما لو أن شخصًا آخر كتبه.
قائمة المراجعة
أراجع في 4 جولات. كل جولة تبحث عن أشياء مختلفة:
الجولة الأولى: اقرأ كمستخدم (5 دقائق)
لا تنظر إلى الكود. افتح فرق PR واقرأ فقط أسماء الملفات وأعداد الأسطر.
أسئلة:
- هل التغيير منطقي من أسماء الملفات وحدها؟
- هل يلمس عددًا كبيرًا جدًا من الملفات؟ (علامة على تغيير مقترن)
- هل هناك ملفات لا ينبغي أن تكون في هذا التغيير؟
الجولة الثانية: اقرأ للمنطق (15 دقيقة)
الآن اقرأ الكود. لكن لا تتحقق من الأسلوب أو التسمية أو التنسيق. فقط المنطق.
أسئلة:
- هل يعمل المسار السعيد (happy path) بشكل صحيح؟
- ماذا يحدث مع المدخلات الفارغة (null/undefined)؟
- هل هناك أي حالات يفشل فيها هذا بصمت؟
- هل أتعامل مع حالة الخطأ، أم فقط أسجل الخطأ وأمضي قدمًا؟
- هل هناك حالة سباق (race condition)؟ (خاصة في الكود غير المتزامن)
الجولة الثالثة: اقرأ للأمان (10 دقائق)
\\
