نسخهسازی معنایی (SemVer): یک راهنمای عملی

O نسخه سازی معنایی (یا SemVer) یک الگوی قانون است که برای ردیابی نسخه های نرم افزار در حین توسعه استفاده می شود. مدت SemVer می آید از نسخه سازی معنایی، که به معنی نسخه سازی معنایی. این استاندارد روشی واضح و ثابت برای برقراری ارتباط در مورد تغییرات ایجاد شده در پروژه ارائه می دهد و به توسعه دهندگان و کاربران این امکان را می دهد تا تأثیر هر به روز رسانی را به راحتی درک کنند.
اگر تا به حال بسته ها، فریمورک ها یا نرم افزارها را نصب کرده اید، مطمئناً متوجه اعدادی مانند این شده اید 1.2.3
یا 2.0.0
. این توالیها درک نوع بهروزرسانی انجامشده را آسانتر میکنند، خواه این یک ویژگی جدید، رفع اشکال یا یک تغییر حیاتی باشد.
فرمت نسخهسازی معنایی
SemVer از فرمت پیروی می کند:
MAJOR.MINOR.PATCH
MAJOR (نسخه اصلی)
عدد اول نشان دهنده تغییرات قابل توجهی در نرم افزار است که شکستن سازگاری با نسخه های قبلی این ممکن است شامل حذف یا تغییرات در عملکرد باشد که نیاز به سازگاری توسط کاربران دارد.
- مثال: به روز رسانی از
1.4.2
به2.0.0
تغییرات مهم و بالقوه ناسازگار را نشان می دهد.
MINOR (نسخه کوچک)
شماره دوم زمانی به روز می شود ویژگی های جدید یا بدون تأثیر بر سازگاری با عقب، پیشرفتها اضافه میشوند.
- مثال: به روز رسانی از
1.4.2
به1.5.0
نشان می دهد که ویژگی های جدید بدون تأثیر بر کد موجود اضافه شده است.
PATCH (تصحیح خطا)
عدد سوم برای نشان دادن استفاده می شود رفع اشکال یا تنظیمات جزئی که رفتار یا عملکرد نرم افزار را تغییر نمی دهد.
- مثال: به روز رسانی از
1.4.2
به1.4.3
منعکس کننده اصلاح یک مشکل بدون تغییرات ساختاری است.
چرخه عمر انتشار نرم افزار
آلفا
نسخه آلفا اولین نسخه کارآمد نرم افزار است که به صورت داخلی توسط توسعه دهندگان برای آزمایش اولیه و اعتبار سنجی مفاهیم استفاده می شود. ناپایدار است و عموماً در دسترس عموم نیست.
بتا
نسخه بتا کاملتر است و با هدف شناسایی خطاها و جمعآوری بازخورد، برای آزمایش توسط مخاطبان گستردهتری در دسترس است. اگرچه عملکردی است، اما همچنان ممکن است دارای ناپایداری باشد.
کاندید آزاد (RC)
نسخه کاندید را آزاد کنید ثابت و نزدیک به فینال در نظر گرفته شده است. اگر هیچ مشکل مهمی پیدا نشد، به نسخه رسمی نرم افزار تبدیل می شود.
مثال عملی
رفع اشکال:
- نسخه فعلی:
1.0.0
- نسخه جدید:
1.0.1
(پچ)
مثال: یک اشکال در نقطه پایانی بدون تأثیر بر سازگاری رفع شد.
عملکرد جدید:
- نسخه فعلی:
1.0.1
- نسخه جدید:
1.1.0
(صغیر)
مثال: یک نقطه پایانی جدید برای مدیریت مجوزهای کاربر اضافه شده است.
تغییر ناسازگار:
| نسخه فعلی: 1.1.0
| نسخه جدید: 2.0.0
(عمده)
مثال: مدل احراز هویت کاملاً بازسازی شده است و نیاز به تنظیمات سیستمهایی دارد که API را مصرف میکنند.
پیاده سازی SemVer با نسخه های GitHub
یک برچسب ایجاد کنید
برای تگ کردن یک نسخه خاص در مخزن:
git tag -a v1.0.0 -m "Primeira versão estável"
git push origin v1.0.0
یک پیش راه اندازی ایجاد کنید
برای ایجاد یک نسخه آزمایشی قبل از انتشار رسمی:
git tag -a v1.1.0-beta -m "Versão beta para testes"
git push origin v1.1.0-beta
مشاهده تاریخچه نسخه
برای فهرست کردن همه نسخه های بررسی شده:
git tag
نکات و قوانین ضروری
با نسخه سازی معنایی، می توانید تغییرات را به طور واضح و موثر بیان کنید و فرآیند توسعه را سازماندهی و قابل پیش بینی تر کنید.
نسخه: 1.1.0