درباره برنامه نویسی دو نفره

درباره برنامه نویسی دو نفره

 

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

این یک بخش از روش XP(Extreme Programming) یا برنامه نویسی بی انتها است که تلاش میکند تا عمل توسعه را سریع تر و با کیفیت بیش تر به جلو براند. شما خواهید دید که این روش در محیط های چابک(Agile)  در همه زمان ها استفاده میشود و بسیاری از توسعه دهندگان واقعا به آن علاقه دارند. به جای اینکه به تنهایی مشکلات خود را حل کنید، میتوانید از دیگران که میتوانند همان کار را انجام دهند استفاده کنید. اینجا به چند نکته منحصر به فرد درباره برنامه نویسی تیمی اشاره میکنیم.

- همان طور که نوشته شده است روی کد متمرکز میشود

در خیلی از موارد، شما شخصی را دیده اید که نظارت میکنند و دیگری تایپ میکنند، در این حالت هردوی آن ها مشغول اجرای اعمال خود هستند، هر کدام از آن ها چیزی را بدست می آورند که دیگران آن را از دست داده اند. برای مثال، شما ممکن است در حالی که مشغول تایپ کردن باشید فراموش کنید که یک آرایه را شروع کنید و متد سازنده آن را صدا بزنید ولی توسعه دهنده های دیگر این مشکل را حل میکنند. یا توسعه دهنده های دیگر از شما سوال میکنند که چرا کد را به این روش خاص مینویسید.

شما هنگام نوشتن از کد مراقبت میکنید زیرا به معنای واقعی کلمه شخصی درحال نگاه کردن به شما است. اینجا دیگر جایی برای کد های بد وجود ندارد و بهترین بخش آن این است کد خود را قابل نگهداری برای آینده نگه دارید. شما به این نیاز ندارید که به توسعه دهنده خاصی توضیح دهید همه چیز چطور کار میکند زیرا شما کدی قابل خواندن دارید. این همچنین کمک میکند تا بهترین عمل را برای هرچه که مینویسید داشته باشید. داشتن چند نفر درحالی که شما دارید به مشکلات فکر میکنید به شما در نوشتن یک کد خوب کمک میکند.

- این درباره ی مشاوره یا آموزش نیست

فهم این برای برخی توسعه دهندگان مدتی طول میکشد. دو توسعه دهنده در سطحی یکسان هستند و هردوی آن ها نظرات های صحیحی دارند که باید توجیه شود. شما زمان که مشغول انجام برنامه نویسی دو نفره هستید در موقعیت مشاوره ای قرار ندارید. شما دو توسعه دهنده هستید که به هم در نوشتن بهترین کد ممکن برای این تسک کمک میکنید.

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

- برای توسعه مهارت های مناسب و طرز فکر برای برنامه نویسی دو نفره زمان لازم است

کار کردن با توسعه دهنده دیگر روی کد راهی نیست که بیشتر شرکت ها کار کنند. در اکثر مکان ها شما به تنهایی روی وظیفه خود کار میکنید و شما اگر گیر افتادید میتوانید از دیگران کمک بخواهید. سویچ کردن به برنامه نویسی دو نفره یک تغییر جدی است و توسعه دهندگان باید مدتی را برای برای کسب کردن مهارت های جدید و طرز فکری که آن ها به صورت دو نفره نیاز دارن صرف کنند. هیچ چیز یک شبه اتفاق نمی افتد و در اینجا هم زمان های سختی وجود دارد، اما یکبار که به میان آن بروید میتوانید از فواید آن استفاده کنید.

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

 

فواید بزرگ هستند زمانی که تیم شما این را انجام دهد

زمانی که شما برنامه نویسی دونفره را پیاده سازی کرده باشید، این شروع به ایجاد حرکت میکند. بیشتر توسعه دهندگان به صورت دو نفره کار میکنند، کد ها خاص و بهتر می شوند اگر شما این را همراه چیزی مثل توسعه تست محور (Test Driven Development) استفاده کنید. نوشتن تست ها با یکدیگر اطمینان میدهد که هر دو توسعه دهنده ها وظیفه خود را متوجه شده اند که به این معنی است که دانش منتقل شده است. این در بیشتر تیم ها بسیار نا دیده گرفته میشود. آموزش متقابل فواید ظریف و نا محسوسی دارند که شما از برنامه نویسی دو نفره بدست می آورید که باعث تفاوت های فاحش میشود.

این واقعا مدتی طول میکشد تا عادت به این عادت کنید که کسی کد شما را تماشا کند. اکثر توسعه دهندگان عادت  دارند که به تنهایی کد خود را بنویسند. من میدونم چون اینطور بودم. در دراز مدت شما در نهایت شما راه های جدیدی برای پیاده سازی و اجرای کد یاد میگیرید فقط به دلیل اینکه شما در معرض دیدگاه توسعه دهنده های دیگر قرار گرفته اید. 

 

ترجمه شده توسط: احسان حسینی

لینک های وابسته