پاسخ به برخی تصورات نادرست در مورد برنامه‌نویسی دونفره

پاسخ به برخی تصورات نادرست در مورد برنامه‌نویسی دونفره

پیش از این در مقالاتی تحت عناوین آیا می‌دانستید که برنامه‌نویسی دونفره می‌تواند شما را به برنامه‌نویس ماهرتری تبدیل کند؟ و نکاتی در مورد نحوۀ اجرای صحیح Pair Programming یا برنامه‌نویسی دونفره! به معرفی روش برنامه‌نویسی دونفره و مزایای آن پرداختیم؛ در این مقاله برخی از تصورات نادرست در مورد این روش برنامه‌نویسی را مورد بحث و بررسی قرار خواهیم داد.

اگر درگیر یک پروسهٔ اجایل (چابک) باشید،‌ حتماً باید دونفره کد بزنید!
این تصور کاملاً نادرست است؛ اجایل مفهوم گسترده‌ای است که اصول آن در مانیفست توسعهٔ‌نرم‌افزار اجایل بیان شده است. با این‌که در بسیاری از موارد برنامه‌نویسی دونفره عملاً به‌عنوان بخشی از روش اجایل انجام می‌شود، اما این مانیفست برنامه‌نویسی دونفره را از ملزومات روش اجایل نمی‌داند!

از آن‌جا که برنامه‌نویسی دونفره تمرین خوبی برای Extreme Programming است،‌ در اکثر جوامع اجایل مورد استفاده قرار می‌گیرد و با این‌که این روش بخشی از پروسهٔ‌ اجایل نیست، در اغلب موارد با اجایل همراه است. این موضوع گاهی سبب ایجاد این تصور نادرست می‌شود که در پروسهٔ اجایل حتماً باید از برنامه‌نویسی دونفره استفاده کرد.

Extreme Programming شما را به برنامه‌نویسی دونفره وادار می‌کند!
Extreme programming یا به طور خلاصه XP یک متدلوژی توسعهٔ نرم‌افزار است که بر مبنای ارتقاء کیفیت نرم‌افزار براساس نیازهای مشتری پایه‌ریزی شده است؛ این تصور که در روش XP مجبورید دونفره کد بزنید هم تصور نادرستی است.

هرچند که برنامه‌نویسی دونفره یکی از تمرین‌های رایج در گروه‌های XP است و آن‌ها تقریباً هر روز این تمرین را انجام می‌دهند، اما واقعیت این است که در تیم‌های XP انجام دادن یا ندادن برنامه‌نویسی دونفره اهمیت ذاتی نداشته و مسئلهٔ مهم، کارا و مؤثر بودن این تیم‌ها است (عموماً در روش XP توصیه می‌شود برنامه‌نویسی دونفره را فقط امتحان کنید تا ببینید برای شما تأثیر و کارایی لازم را دارد یا خیر. اگر کارا نیست، می‌توانید آن را کنار بگذراید و مجبور به ادامهٔ‌ آن نیستید.)

من که می‌دانم به کد زدن دونفره علاقه‌ای ندارم، پس دلیلی ندارد که آن‌را امتحان کنم!
بسیاری از افراد پیش از روی آوردن به برنامه‌نویسی دونفره فقط قصد داشته‌اند این روش را امتحان کنند اما بعد از امتحان کردن آن، دریافته‌اند که واقعاً به آن علاقمندند؛ این تصور از آن‌جا ناشی می‌شود که اغلب افراد فکر می‌کنند که برنامه‌نویسی دونفره پیچیده و خسته‌کننده است و دقیقاً به همین دلیل از آن گریزانند.

اما این واقعیت ندارد؛ ساعت‌ها به صورت منفعلانه کنار دست کسی نشستن و فقط نگاه کردن، کدنویسی دونفره نیست. بنابراین حتماً قبل از شروع این روش،‌ مطمئن شوید که اصول آن‌را به‌درستی آموخته‌اید.

برنامه‌نویسی دونفره بهره‌وری دولوپرها را به نصف کاهش می‌دهد!
اگر تایپ کردن کدها دشوارترین بخش برنامه‌نویسی می‌بود،‌ این تصور می‌توانست کاملاً درست باشد اما بسیاری از کسانی که به برنامه‌نویسی دونفره روی آورده‌اند معتقدند که کار دونفرهٔ‌ ۲ دولوپر درمجموع مفیدتر از کار تک‌تک آن‌ها به‌صورت مجزا است.

درست است که در این روش هر فرد مدت زمان کمتری در حال کد زدن است، اما این به‌معنای اتلاف وقت و کاهش بهره‌وری نیست زیرا در این روش،‌ ۲ عضو گروه تمام‌مدت مشغول بررسی کدها و بحث در مورد آن‌ها هستند و این موجب بهبود طراحی، کاهش خطاها و انتقال تجارب خواهد شد.

برنامه‌نویسی دونفره فقط در مورد کدهای پیچیده ارزشمند است!
درست است که افزایش دقت و کاهش خطاها از مزیت‌های برنامه‌نویسی دو‌نفره‌اند اما این بدان معنا نیست که در کدهای ساده استفاده از این روش هیچ مزیتی ندارد؛ این روش می‌تواند تایپ کدهای ساده،‌ تکراری و خسته‌کننده را به تجربه‌ای جدید و متفاوت تبدیل کند.

علاوه بر این، از آن‌جا که در این روش اعضای گروه متناوباً نقش خود را باهم عوض می‌کنند،‌ هیچ‌یک از آن‌ها دائماً در حال تایپ کردن نیست و این باعث کاهش خستگی آن‌ها می‌شود.

آیا تاکنون روش کدنویسی دونفره را امتحان کرده‌اید؟ اگر تا‌به‌حال آن‌را امتحان نکرده‌اید، آیا با خواندن این مقاله به رفتن به‌سمت این روش ترغیب شدید؟ نظرات دیدگاه‌های خود را با ما و سایر کاربران سکان آکادمی به‌ اشتراک بگذارید.

منبع