سالهاست که استفاده از نرمافزار مدیریت نسخه گیت تبدیل به یکی از حداقل استانداردهای توسعه هر نرمافزار در کشورمان شده است. با این حال، استفاده از استانداردهایی که در کنار گیت از سردردهای هنگام راهاندازی جلوگیری میکند در مخازن گیت ایرانی نایاب است. در این مطلب، چهار مورد از مواردی که میتوانند در کنار استفاده از گیت به پروسه توسعه کمک کنند آورده شده است.
نسخهبندی معنایی یا Semantic Versioning استانداردی برای تقسیم نرمافزار شما به نسخههای مختلف، بر پایه شدت تغییرات در هر نسخه است. استفاده از این روش در کنار استفاده از Tagها در گیت به شما اجازه میدهد به راحتی و بدون گشتن در تاریخچه کامیتهای ایجاد شده، در هنگام بروز مشکل به نسخههای پیشین بازگردید. نسخهبندی معنایی همچنین هماهنگی بین تیمهای بکاند و فرانتاند و همچنین تجربه توسعهدهندگانی که از خدمات شما استفاده میکنند را از طریق ساختار دادن به تغییرات بهبود میبخشد.
چه یک محصول اوپنسورس را توسعه میدهید و چه روی یک محصول خصوصی کار میکنید، اطلاع دادن تغییرات کدها به سایر توسعهدهندگان کد و گاهی حتی اطلاع دادن تغییرات اساسی به کاربران، تجربه بهتری را برای تمامی افراد دخیل در پروسه محصول رقم میزند. تصور کنید فردی که به تازگی به تیم اضافه شده و یا فردی که مدت قابل توجهی را در مرخصی گذرانده است از طریق خواندن این تاریخچه میتواند خود را با آخرین تغییرات هر پروژه هماهنگ کند. یکی از بهترین منابع در این خصوص وبسایت Keep-A-Changelog است.
نسخهبندی معنایی و تاریخچه تغییرات تنها بخشی از پازل ساختار دادن به فرایند توسعه کدهای شماست. بخش دیگری از این فرایند آن است که تمامی کامیتهایی که ثبت میشوند دستهبندی شده و با توجه به آنچه که در نسخهبندی معنایی آمده است جدا شوند. بدین شکل تصمیمگیری در مورد اینکه کدام عدد را در نسخهبندی بالا ببریم و نوشتن تاریخچه تغییرات به راحتی در فرایند توسعه جای میگیرد. قرارداد کامیتهای استاندارد یا Conventional Commit که بسیاری از پروژههای اوپنسورس از آن استفاده میکنند دقیقا به همین منظور ساخته شده و حتی به شما اجازه میدهد تاریخچه تغییراتتان را به شکل خودکار ایجاد کنید.
معمولاً در تیمهای توسعه، افرادی که پیش از این بر روی پروژهها کار کردهاند تیم را ترک میکنند و افراد جدیدی به تیم میپیوندند. در صورتی که پیش از این فرایند توسعه و استفاده از پروژه به طور کامل مستند نشده باشد، رفت و آمد توسعهدهندگان به تیم میتواند مشکلات بسیاری را ایجاد کند. بدیهی است که الزام ایجاد مستندات در هنگام حضور افراد قدیمی در تیم میتواند این مشکل را برطرف کند اما کمترین این مستندات از خود مخزن گیت شما و فایل README آغاز میشود. یک فایل README استاندارد که در آن کاربرد پروژه، نیازمندیها برای راهاندازی و نحوه راهاندازی آن ذکر شده است، حداقل از سردرد اضافه کردن و شروع به کار افراد جدید خواهد کاست.
در صورتی که این مطلب برای شما مفید بود، برای مطالب بیشتر من را در ویرگول و تلگرام دنبال کنید و بازخوردتان را در انتهای این مطلب بنویسید.