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