راهنمای Pull Request مشارکت‌کنندگان


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

این سند شامل چند راهنمای تکمیلی و مخصوص Exercism برای انواع مختلف Pull Request است.

Pull Requestهای تمرین

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

از تعداد نظرهای بازبینی دلسرد نشوید؛ کاملاً طبیعی است که یک تمرین پیش از رسیدن به چیزی که هم شما و هم بازبین اصلی از آن راضی باشید، چند بار بازنویسی شود.

توصیه‌ها

چند توصیه برای روان‌تر شدن هرچه بیشتر این فرایند:

مستندات را بخوانید

پیش از ساختن Pull Request برای یک تمرین، حتماً مستندات تمرین مفهومی و به همین ترتیب مستندات تمرین عملی را بخوانید. خواندن مستندات از پیش کمک زیادی می‌کند، چون در آن صورت بازبینی نظرهای کمتری خواهد داشت و Pull Request شما خیلی زودتر ادغام می‌شود.

تمرین‌های موجود را بررسی کنید (اگر وجود دارند)

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

Pull Requestهای تمرین عملی

در نظر بگیرید که آیا این تغییر واقعاً جای خود را در problems-specifications دارد

بخشی از محتوای یک تمرین عملی (مانند مقدمه‌ی آن) از فراداده‌ی (مشترک) آن می‌آید که در مخزن problems-specifications تعریف شده است. اگر قصد دارید چنین محتوایی را به‌روزرسانی کنید، در نظر بگیرید که این تغییر ممکن است برای مسیرهای دیگر هم مفید باشد. اگر چنین است، لطفاً به‌جای آن، یک Pull Request برای فراداده‌ی تمرین در مخزن problems-specifications بسازید.

توصیه‌های کلی

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

همه‌ی بازبینی‌های Pull Request را یک (یا چند) نگهدارنده‌ی مسیر انجام می‌دهند، چون آنان مسئول تأیید همه‌ی تغییرات مخزن هستند. انجام بازبینی توسط نگهدارندگان همچنین کمک می‌کند تا بازخوردهای متناقض برای نویسنده‌ی Pull Request پیش نیاید.

البته که خوشحال می‌شویم اگر برای کمک به بازبینی نظری بگذارید (به‌ویژه اگر Pull Request بزرگ باشد) یا اگر چیزی به نظرتان اشتباه آمد، پرسش خود را مطرح کنید.