تأثیر کاخ سفید در افزایش دوستی بین توسعه‌دهنده‌های یک تیم

عنوان عجیبیه، ولی واقعیه.

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

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

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

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

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

اولیش یه کتابخونه‌ برای پیاده‌سازی استاندارد کاخ سفید با زبان PHP بود. که اون رو از اینجا می‌تونید پیدا کنید. بعد هم یه کتابخونه‌ی دیگه برای همین کار روی فریم‌ورک لاراول که از اینجا در دسترسه. خودم و همکاران خوبم در اسنپ‌مارکت اولین استفاده‌کننده‌های این کتابخونه‌ها بودیم.

برای استفاده از این کتابخونه‌ها چیزی بیشتر از راهنمای خودشون ندارم که اینجا بنویسم. ولی اگر هر کدوم از شما خواستید ازشون استفاده کنید و هر چیزی برای بهتر شدنشون به ذهنتون رسید، من خیلی خوشحال می‌شم که بهم بگید.