نسخه‌گذاری معنادار (Semantic Versioning) چیست و چرا باید از آن استفاده کنیم؟

نسخه‌گذاری معنادار (semantic versioning)

نسخه‌گذاری (versioning) برای ابزارها، یکی از موضوع‌هایی است که ذهن برنامه‌نویس را به‌خود مشغول می‌کند. برنامه‌نویس می‌تواند، از یک الگوی شخصی برای ایجاد نسخه‌ها استفاده کند. امروزه سرعت رشد دنیای دیجیتال بسیار زیاد است و اگر ما توسعه‌دهنده یک ابزار معروف و مشهور باشیم، کاربران از ما می‌خواهند از مدل نسخه‌گذاری معنادار پیروی کنیم.

مطمعنا تابه‌حال، با اعداد این‌چنینی در ابزارهایتان روبرو شده‌اید، با یکی از معروف ترین سیستم‌عامل‌ها شروع می‌کنیم:

  • ubuntu 20.04

شاید در نگاه اول این اعداد برایتان هیچ مفهومی نداشته‌ باشد، اما ما در این مقاله سعی داریم، راز و پشت‌پرده این اعداد را آشکار کنیم.

این اعداد نمایانگر نسخه‌محصولی با نام ubuntu است، که کمپانی نرم‌افراری canonical آن را به جهان عرضه کرده. بیشتر کمپانی‌های بزرگ و همچنین توسعه‌دهندگان از روش نسخه‌گذاری بامعنا، برای محصول‌ها و ابزارهایشان استفاده می‌کنند.

هنگامی که یک توسعه‌دهنده از نسخه‌گذاری بامعنا استفاده می‌کند، درصورت نیاز به عیب‌یابی، می‌تواند محصول فعلی خود را با نسخه‌های گذشته مقایسه و سریع‌تر مشکل‌ها را رفع کند. اما این اعداد و ارقام، سرنخ‌هایی از تغییرها را به توسعه‌دهندگان دیگر می‌دهد.

البته این مدل از نسخه‌گذاری به کمپانی canonical محدود نمی‌شود، برای مثال React، Vue و خیلی از محصول‌های مشهور دیگر هم از این مدل بهره می‌برند.

ساختار کلی نسخه‌گذاری با معنا

به‌طور عمده، در این مدل از نسخه‌گذاری از سه عدد که توسط «.» از هم جدامی‌شوند، استفاده می‌شود.

نسخه‌های پچ (Patch versions)

نسخه‌های پچ (patch versions)

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

نسخه‌های جزئی (Minor versions)

نسخه‌های جزئی (minor versions)

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

نسخه‌های عمده (Major versions)

نسخه‌های عمده (major versions)

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

پیش‌نسخه‌ها (Pre-releases)

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

شروع پروژه

بیشتر افراد نسخه‌گذاری پروژه‌‌هایشان را با 0.1.0 شروع می‌کنند، و هنگامی که پروژه برای انتشار‌عمومی حاضر بود نسخه آن را به 1.0.0 تغییر می‌دهند.

منبع: https://www.freecodecamp.org/news/semantic-versioning-1fd6f57749f7

برچسب‌ها:

خدمات رایگان لیارا

free liarafree liara

ارسال ۱۰۰ ایمیل تراکنشی رایگان در هر ماه

در سرویس ایمیل لیارا شما می‌توانید تا ۱۰۰ ایمیل رایگان در هر ماه ارسال کنید و فقط برای بیش از آن هزینه پرداخت کنید. (به‌همراه دسترسی SMTP)

هاست رایگان برای انواع وبسایت

تفاوتی ندارد برای وبسایت خود از زبان Node استفاده می‌کنید یا Laravel و Django، در لیارا می‌توانید به صورت کاملا رایگان آن را میزبانی کنید.

هاست رایگان برای دیتابیس‌

دیتابیس‌های MariaDB، PostgreSQL و Redis را فقط با یک کلیک و به‌صورت رایگان تهیه کنید.

سرویس DNS رایگان

به سادگی دامنه‌تان را اضافه کنید و به صورت رایگان رکورد‌های آن را مدیریت کنید.

۱۰۰ هزار تومان اعتبار اولیه

بعد از ثبت نام در لیارا مبلغ ۱۰۰ هزار تومان اعتبار هدیه دریافت می‌کنید که با توجه به ساعتی بودن هزینه سرویس‌ها، می‌توانید تمامی خدمات پولی را برای چندین هفته به‌صورت رایگان استفاده کنید.

۲.۵ گیگابایت فضای ذخیره‌سازی ابری رایگان

۲.۵ گیگابایت Object Storage سازگار با پروتکل S3 با دیسک‌های SSD به‌صورت رایگان دریافت کنید.

توسعه‌دهندگان درباره‌ی ما چه می‌گویند

همراه شما هستیم

در خصوص سفارش یا استفاده از سرویس‌ها سوالی دارید؟

در تمامی روز‌های هفته کنارتان هستیم.

شماره تماس:
۰۲۵-۳۷۸۳۸۹۴۶