در حال بارگذاری تصویر...

تصویر مقاله ورژن نرم‌افزار چیست؟ تفاوت Major، Minor و Patch با مثال

ورژن نرم‌افزار چیست؟ تفاوت Major، Minor و Patch با مثال

خلاصه:

این عددها معمولاً شماره نسخه یا Version یک نرم‌افزار هستند و به ما کمک می‌کنند بفهمیم نرم‌افزار در چه مرحله‌ای از توسعه قرار دارد.

مقاله آموزشی۴۷ دقیقه پیش8 دقیقه1 نظر
۸ بازدید

احتمالاً موقع دانلود یک برنامه، نصب یک کتابخانه یا دیدن آموزش‌های برنامه‌نویسی با عددهایی شبیه این روبه‌رو شده‌اید:

3.14.2

یا مثلاً:

13.14.15

این عددها معمولاً شماره نسخه یا Version یک نرم‌افزار هستند و به ما کمک می‌کنند بفهمیم نرم‌افزار در چه مرحله‌ای از توسعه قرار دارد.

یکی از رایج‌ترین شکل‌های نمایش نسخه به این صورت است:

Plain text
Major.Minor.Patch

3.14.2

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

نکته: همه نرم‌افزارها دقیقاً از یک قانون نسخه‌بندی استفاده نمی‌کنند، اما ساختار Major.Minor.Patch یکی از رایج‌ترین مدل‌هایی است که با آن روبه‌رو می‌شوید.

Major، Minor و Patch یعنی چه؟

برای مثال این نسخه را در نظر بگیرید:

Plain text
3.14.2

می‌توانیم آن را این‌طور بخوانیم:

Plain text
3  .  14  .  2
↑      ↑      ↑
Major  Minor  Patch

Major چیست؟

عدد اول، Major Version یا نسخه اصلی است.

مثلاً:

Plain text
3.14.2
↓
Major = 3

تغییر Major معمولاً زمانی اتفاق می‌افتد که نرم‌افزار تغییرات بسیار مهم و بزرگی داشته باشد.

مثلاً:

Plain text
3.14.2
↓
4.0.0

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

Minor چیست؟

عدد دوم، Minor Version است.

مثلاً:

Plain text
3.14.2
   ↓
Minor = 14

افزایش Minor معمولاً نشان‌دهنده اضافه شدن امکانات و تغییرات جدید است، بدون اینکه کل نسخه اصلی نرم‌افزار تغییر کند.

مثلاً:

Plain text
3.13.0
↓
3.14.0

Major هنوز 3 است، اما Minor از 13 به 14 رسیده است.

Patch چیست؟

عدد سوم، Patch Version است.

مثلاً:

Plain text
3.14.2
      ↓
Patch = 2

Patch معمولاً برای اصلاح باگ‌ها، مشکلات امنیتی یا تغییرات کوچک منتشر می‌شود.

مثلاً:

Plain text
3.14.1
↓
3.14.2

در اینجا نه Major تغییر کرده و نه Minor. فقط یک نسخه اصلاحی جدید منتشر شده است.

در نسخه‌بندی رسمی Python معمولاً به بخش سوم micro version گفته می‌شود، اما برای درک ساده مفهوم نسخه‌بندی می‌توانید آن را مشابه بخش Patch در نظر بگیرید.

در حال بارگذاری تصویر...

یک اینفوگرافیک آموزشی فارسی با پس‌زمینه روشن و طراحی مینیمال بساز. در مرکز تصویر نسخه بزرگ `3.14.2` قرار داشته باشد و هر عدد رنگ متفاوتی داشته باشد. سه فلش از اعداد به پایین کشیده شوند.

زیر عدد `3` نوشته شود:

«Major
تغییرات بزرگ و اساسی نرم‌افزار»

زیر عدد `14` نوشته شود:

«Minor
اضافه شدن قابلیت‌ها و تغییرات جدید»

زیر عدد `2` نوشته شود:

«Patch
رفع باگ‌ها و اصلاحات کوچک»

در پایین تصویر سه مثال کوچک قرار بگیرد:

`3.14.2 → 4.0.0` با عنوان «تغییر Major»

`3.13.0 → 3.14.0` با عنوان «تغییر Minor»

`3.14.1 → 3.14.2` با عنوان «تغییر Patch»

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

آیا بعد از نسخه 3.9 باید نسخه 4.0 بیاید؟

اینجا یکی از اشتباهات رایج افراد تازه‌کار اتفاق می‌افتد.

ممکن است تصور کنید چون در ریاضی بعد از 3.9 به 4 می‌رسیم، نسخه بعدی یک نرم‌افزار هم باید 4.0 باشد.

اما شماره نسخه عدد اعشاری نیست.

یعنی این:

Plain text
3.9

به معنی عدد اعشاری «سه ممیز نه» نیست.

در واقع دو عدد مستقل داریم:

Plain text
Major = 3
Minor = 9

بنابراین کاملاً طبیعی است که نسخه‌ها به این شکل باشند:

Plain text
3.8
3.9
3.10
3.11
3.12
3.13
3.14

عدد Minor می‌تواند از 9 بیشتر شود و هیچ الزامی وجود ندارد که بعد از 3.9 به 4.0 برسیم.

برای مثال در Python نیز نسخه‌های مختلفی مثل این داشته‌ایم:

Plain text
Python 3.9
Python 3.10
Python 3.11
Python 3.12

پس 3.10 یعنی:

Plain text
Major = 3
Minor = 10

و به معنی عدد اعشاری 3.1 نیست.

در حال بارگذاری تصویر...

یک تصویر آموزشی مقایسه‌ای فارسی طراحی کن که اشتباه رایج در خواندن نسخه نرم‌افزار را توضیح دهد.

در سمت چپ با علامت ضربدر قرمز نوشته شود:

«برداشت اشتباه»

`3.9 → 4.0`

و زیر آن نوشته شود:

«شماره نسخه، عدد اعشاری نیست»

در سمت راست با علامت تیک سبز نوشته شود:

«برداشت درست»

و نسخه‌ها به شکل یک مسیر نمایش داده شوند:

`3.8 → 3.9 → 3.10 → 3.11 → 3.12`

زیر `3.10` به‌صورت واضح نوشته شود:

«Major = 3»

«Minor = 10»

طراحی بسیار ساده و قابل فهم برای فرد کاملاً مبتدی باشد. تمام متن‌های تصویر فارسی باشند. پایین سمت چپ `codingyar.com` و پایین سمت راست «وبسایت آموزش برنامه نویسی کدینگ‌یار» نوشته شود. تم لایت و روشن با پس‌زمینه سفید یا پاستلی، رنگ‌های شاد (مرجانی، نعنایی، کهربایی).

اگر نسخه 13.14.15 ببینیم یعنی چه؟

حالا اگر جایی نسخه‌ای مثل این دیدید:

Plain text
13.14.15

در مدل رایج Major.Minor.Patch می‌توانید آن را این‌طور بخوانید:

Plain text
Major = 13
Minor = 14
Patch = 15

یعنی نرم‌افزار در نسخه اصلی 13 قرار دارد، Minor آن 14 است و پانزدهمین شماره Patch این شاخه را می‌بینیم.

البته معنی دقیق افزایش هر قسمت به قوانین همان پروژه بستگی دارد.

جمع‌بندی

وقتی نسخه‌ای مثل 3.14.2 می‌بینید، آن را یک عدد اعشاری در نظر نگیرید. معمولاً سه بخش جدا از هم داریم:

Plain text
Major.Minor.Patch

Major برای تغییرات بزرگ، Minor برای قابلیت‌ها و تغییرات جدید و Patch برای اصلاحات و رفع باگ‌ها استفاده می‌شود.

به همین دلیل بعد از نسخه 3.9 می‌توانیم نسخه 3.10، سپس 3.11 و 3.12 را داشته باشیم. برای رسیدن به 4.0 باید Major Version تغییر کند، نه اینکه Minor فقط از عدد 9 عبور کرده باشد.

اگر از این مقاله خوشتون اومد، لطفاً نظرتون رو برای ما ثبت کنید و خستگی رو از تنمون بیرون کنید! 😊❤️🙏

اشتراک‌گذاری

لینک را کپی کنید یا مقاله را در تلگرام، واتساپ و لینکدین بفرستید.

نویسنده
م

محمدهادی حاجی حسینی

نویسنده مقالات آموزشی کدینگ‌یار

دوره‌های مرتبط

یادگیری عمیق‌تر با دوره‌های پروژه‌محور

مقالات VIP

در هر دوره‌ای شرکت کنید، به محتوای اختصاصی همان دوره دسترسی پیدا می‌کنید.