پرش به مطلب اصلی

راهنمای بازبینی کد

فهرست مطالب

هدف بازبینی کد

بازبینی کد بخش حیاتی از فرآیند توسعه ماست که با پروتکل‌های ارتباطی و استانداردهای کدنویسی ما همسو است. اهداف آن عبارتند از:

  1. بهبود کیفیت کد: شناسایی باگ‌ها، مسائل امنیتی و مشکلات عملکردی
  2. حفظ یکپارچگی: رعایت استانداردهای کدنویسی در سراسر پروژه
  3. تسهیم دانش: گسترش درک بخش‌های مختلف سیستم
  4. راهنمایی اعضای تیم: کمک به رشد توسعه‌دهندگان از طریق بازخورد سازنده

فرآیند بازبینی

فرآیند بازبینی کد ما شامل مراحل زیر است:

الزامات درخواست ادغام (PR)

  • عنوان: توضیحی واضح و مختصر از تغییرات
  • توضیحات: هدف، رویکرد و جزئیات تست
  • بازبین‌ها: حداقل 2 بازبین (شامل CTO)
  • برچسب‌ها: دسته‌بندی مناسب (باگ، قابلیت جدید و غیره)
  • مسائل مرتبط: ارجاع به تیکت‌های مرتبط
  • تست‌ها: شواهدی از تست‌های انجام شده (واحدی، یکپارچه‌سازی، دستی)

راهنمای بازبین‌ها

موارد قابل توجه

  • آیا کد به درستی کار می‌کند؟
  • آیا موارد خاص به درستی مدیریت شده‌اند؟
  • آیا مدیریت خطاها جامع است؟
  • آیا خطای منطقی وجود دارد؟
  • آیا پیاده‌سازی با نیازمندی‌ها مطابقت دارد؟

آداب بازبینی

  • محترمانه و سازنده باشید
  • روی کد تمرکز کنید، نه شخص
  • دلیل پیشنهادات خود را توضیح دهید
  • در صورت امکان مثال بزنید
  • روش‌های خوب و بهبودها را تصدیق کنید
  • بازخوردها را اولویت‌بندی کنید (بحرانی در مقابل خوب-به-داشتن)

راهنمای نویسندگان

آماده‌سازی برای بازبینی

  • قبل از ارسال، کد خود را بررسی کنید
  • اندازه PR را معقول نگه دارید (ترجیحاً کمتر از 400 خط کد)
  • زمینه و توضیحات را در توضیحات PR ارائه دهید
  • بخش‌هایی که نیاز به توجه ویژه دارند را مشخص کنید
  • قبل از ارسال، تست‌ها و خطایاب را اجرا کنید

پاسخ به بازخوردها

  • به تمام نظرات پاسخ دهید
  • پذیرای پیشنهادات باشید
  • در صورت نیاز شفاف‌سازی بخواهید
  • در صورت مخالفت، استدلال خود را توضیح دهید
  • تغییرات درخواست شده را به موقع اعمال کنید

زمان‌بندی بازبینی

  • PRهای استاندارد: حداکثر ظرف 24 ساعت
  • PRهای فوری: حداکثر ظرف 4 ساعت (باید به عنوان فوری علامت‌گذاری شود)
  • PRهای حجیم: حداکثر ظرف 48 ساعت (برای PRهای بیش از 500 خط)

انواع خاص بازبینی

بازبینی معماری

برای تغییرات معماری قابل توجه:

  • جلسه اختصاصی بازبینی معماری ترتیب دهید
  • توسعه‌دهندگان ارشد و معماران را درگیر کنید
  • تصمیمات طراحی و مصالحه‌ها را مستند کنید
  • پیامدهای بلندمدت نگهداری را در نظر بگیرید

بازبینی امنیتی

برای کدهای حساس از نظر امنیتی:

  • بازبین متمرکز بر امنیت اختصاص دهید
  • از چک‌لیست امنیتی استفاده کنید
  • مدل‌سازی تهدید را در نظر بگیرید
  • مدیریت صحیح داده‌های حساس را تأیید کنید

ابزارهای بازبینی کد

  • درخواست‌های ادغام گیت‌هاب
  • ابزارهای خودکار کیفیت کد (PHPStan, ESLint)
  • بررسی‌های خط لوله CI/CD
  • گزارش‌های پوشش کد

بهبود مستمر

ما به طور منظم فرآیند بازبینی کد را ارزیابی و بهبود می‌دهیم:

  • بازخورد در مورد فرآیند بازبینی جمع‌آوری می‌شود
  • مسائل رایج در بازبینی‌ها ردیابی می‌شود
  • راهنماها بر اساس تجربیات به‌دست آمده به‌روز می‌شوند
  • بهترین روش‌ها از بازبینی‌های موفق به اشتراک گذاشته می‌شوند

یکپارچه‌سازی با روش‌های تیمی

فرآیند بازبینی کد ما با موارد زیر یکپارچه است:

  • برنامه‌نویسی زوجی: کد نوشته شده به صورت زوج معمولاً نیاز به بازبینی کمتری دارد
  • مدیریت دانش: مستندسازی بینش‌های حاصل از بازبینی کد
  • نیازمندی‌های تست: تأیید پوشش تست در حین بازبینی
  • مستندات: اطمینان از مستندسازی صحیح کد