احتمالاً موقع دانلود یک برنامه، نصب یک کتابخانه یا دیدن آموزشهای برنامهنویسی با عددهایی شبیه این روبهرو شدهاید:
3.14.2
یا مثلاً:
13.14.15
این عددها معمولاً شماره نسخه یا Version یک نرمافزار هستند و به ما کمک میکنند بفهمیم نرمافزار در چه مرحلهای از توسعه قرار دارد.
یکی از رایجترین شکلهای نمایش نسخه به این صورت است:
Major.Minor.Patch
3.14.2هر کدام از این سه عدد معنی متفاوتی دارند.
نکته: همه نرمافزارها دقیقاً از یک قانون نسخهبندی استفاده نمیکنند، اما ساختار
Major.Minor.Patchیکی از رایجترین مدلهایی است که با آن روبهرو میشوید.
Major، Minor و Patch یعنی چه؟
برای مثال این نسخه را در نظر بگیرید:
3.14.2میتوانیم آن را اینطور بخوانیم:
3 . 14 . 2
↑ ↑ ↑
Major Minor PatchMajor چیست؟
عدد اول، Major Version یا نسخه اصلی است.
مثلاً:
3.14.2
↓
Major = 3تغییر Major معمولاً زمانی اتفاق میافتد که نرمافزار تغییرات بسیار مهم و بزرگی داشته باشد.
مثلاً:
3.14.2
↓
4.0.0ممکن است قابلیتها یا رفتارهای مهم نرمافزار تغییر کرده باشند و حتی بعضی چیزهایی که در نسخه قبلی کار میکردند، در نسخه جدید نیاز به تغییر داشته باشند.
Minor چیست؟
عدد دوم، Minor Version است.
مثلاً:
3.14.2
↓
Minor = 14افزایش Minor معمولاً نشاندهنده اضافه شدن امکانات و تغییرات جدید است، بدون اینکه کل نسخه اصلی نرمافزار تغییر کند.
مثلاً:
3.13.0
↓
3.14.0Major هنوز 3 است، اما Minor از 13 به 14 رسیده است.
Patch چیست؟
عدد سوم، Patch Version است.
مثلاً:
3.14.2
↓
Patch = 2Patch معمولاً برای اصلاح باگها، مشکلات امنیتی یا تغییرات کوچک منتشر میشود.
مثلاً:
3.14.1
↓
3.14.2در اینجا نه Major تغییر کرده و نه Minor. فقط یک نسخه اصلاحی جدید منتشر شده است.
در نسخهبندی رسمی Python معمولاً به بخش سوم micro version گفته میشود، اما برای درک ساده مفهوم نسخهبندی میتوانید آن را مشابه بخش Patch در نظر بگیرید.
در حال بارگذاری تصویر...

آیا بعد از نسخه 3.9 باید نسخه 4.0 بیاید؟
اینجا یکی از اشتباهات رایج افراد تازهکار اتفاق میافتد.
ممکن است تصور کنید چون در ریاضی بعد از 3.9 به 4 میرسیم، نسخه بعدی یک نرمافزار هم باید 4.0 باشد.
اما شماره نسخه عدد اعشاری نیست.
یعنی این:
3.9به معنی عدد اعشاری «سه ممیز نه» نیست.
در واقع دو عدد مستقل داریم:
Major = 3
Minor = 9بنابراین کاملاً طبیعی است که نسخهها به این شکل باشند:
3.8
3.9
3.10
3.11
3.12
3.13
3.14عدد Minor میتواند از 9 بیشتر شود و هیچ الزامی وجود ندارد که بعد از 3.9 به 4.0 برسیم.
برای مثال در Python نیز نسخههای مختلفی مثل این داشتهایم:
Python 3.9
Python 3.10
Python 3.11
Python 3.12پس 3.10 یعنی:
Major = 3
Minor = 10و به معنی عدد اعشاری 3.1 نیست.
در حال بارگذاری تصویر...

اگر نسخه 13.14.15 ببینیم یعنی چه؟
حالا اگر جایی نسخهای مثل این دیدید:
13.14.15در مدل رایج Major.Minor.Patch میتوانید آن را اینطور بخوانید:
Major = 13
Minor = 14
Patch = 15یعنی نرمافزار در نسخه اصلی 13 قرار دارد، Minor آن 14 است و پانزدهمین شماره Patch این شاخه را میبینیم.
البته معنی دقیق افزایش هر قسمت به قوانین همان پروژه بستگی دارد.
جمعبندی
وقتی نسخهای مثل 3.14.2 میبینید، آن را یک عدد اعشاری در نظر نگیرید. معمولاً سه بخش جدا از هم داریم:
Major.Minor.PatchMajor برای تغییرات بزرگ، Minor برای قابلیتها و تغییرات جدید و Patch برای اصلاحات و رفع باگها استفاده میشود.
به همین دلیل بعد از نسخه 3.9 میتوانیم نسخه 3.10، سپس 3.11 و 3.12 را داشته باشیم. برای رسیدن به 4.0 باید Major Version تغییر کند، نه اینکه Minor فقط از عدد 9 عبور کرده باشد.
اگر از این مقاله خوشتون اومد، لطفاً نظرتون رو برای ما ثبت کنید و خستگی رو از تنمون بیرون کنید! 😊❤️🙏
















