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

دستورالعمل‌های برنامه‌نویسی جفتی

در این سند

فلسفه برنامه‌نویسی جفتی

برنامه‌نویسی جفتی یک روش اصلی در فرآیند توسعه ماست که به اشتراک‌گذاری دانش، بهبود کیفیت کد و تقویت انسجام تیم کمک می‌کند. رویکرد ما به برنامه‌نویسی جفتی از این اصول پیروی می‌کند:

  1. اشتراک‌گذاری دانش: برنامه‌نویسی جفتی انتقال دانش را در سراسر تیم تسریع می‌کند
  2. کیفیت کد: دو جفت چشم مشکلات بیشتری را نسبت به یک جفت تشخیص می‌دهند
  3. همکاری: برنامه‌نویسی جفتی روابط کاری قوی‌تری ایجاد می‌کند
  4. یادگیری: توسعه‌دهندگان تازه‌کار و ارشد هر دو از دیدگاه‌های مختلف بهره می‌برند

زمان استفاده از برنامه‌نویسی جفتی

استفاده از برنامه‌نویسی جفتی در این موارد توصیه می‌شود:

  • ویژگی‌های پیچیده‌ای که به دانش عمیق دامنه نیاز دارند
  • جذب اعضای جدید تیم
  • اشکال‌زدایی مسائل دشوار
  • انتقال دانش برای سیستم‌های حیاتی
  • تغییرات پرریسک در کد

قالب‌های برنامه‌نویسی جفتی

قالب راننده-ناوبر

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

این قالب برای انتقال دانش و مربی‌گری مناسب است.

برنامه‌نویسی جفتی از راه دور

برای جلسات برنامه‌نویسی جفتی از راه دور:

  • از اشتراک‌گذاری صفحه با قابلیت صدا استفاده کنید
  • ابزارهای کدنویسی مشارکتی را در نظر بگیرید (مانند VS Code Live Share، JetBrains Code With Me)
  • استراحت‌های مکررتر داشته باشید (10 دقیقه در هر ساعت)
  • تصمیمات را به صورت بلادرنگ مستند کنید
  • از یک فهرست کار مشترک برای پیگیری پیشرفت استفاده کنید

زمان‌بندی جلسات جفتی

  • جلسات برنامه‌نویسی جفتی را از قبل برنامه‌ریزی کنید
  • هدف‌گذاری برای جلسات 2 تا 4 ساعته (با استراحت)
  • زمان‌بندی را مسدود کنید تا وقفه‌ها به حداقل برسد
  • اهداف روشنی برای جلسه برنامه‌نویسی جفتی تعیین کنید
  • زمان‌بندی برای تأمل در پایان جلسه اختصاص دهید

آداب برنامه‌نویسی جفتی

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

سنجش اثربخشی

ما اثربخشی برنامه‌نویسی جفتی را از طریق معیارهای زیر ارزیابی می‌کنیم:

  • معیارهای کیفیت کد
  • توزیع دانش در سراسر تیم
  • رضایت اعضای تیم
  • کاهش باگ‌ها و بدهی فنی
  • سرعت جذب اعضای جدید تیم

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

برنامه‌نویسی جفتی مکمل سایر روش‌های تیم ماست:

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

ابزارها و منابع

  • افزونه VS Code Live Share
  • JetBrains Code With Me
  • Tuple (برای کاربران مک)
  • اشتراک‌گذاری صفحه از طریق Google Meet
  • مستندات مشترک از طریق Confluence