معنای ورژن بندی اپلیکیشن ها

Persia1

مدیر تالار زبان انگلیسی
مدیر تالار
خب خب خب ورژن‌بندی اپلیکیشن‌ها چیه؟ 📌

احتمالاً توی پروژه‌ها دیدی که نسخه نرم‌افزارها یه چیزی مثل 1.2.3 هست. ولی این اعداد چه معنی‌ای دارن؟ آیا یه ورژن 1.2.3 بهتر از 1.2.2ـه؟ بیاید یه بار برای همیشه اینو ببینیم

📌 استاندارد ورژن‌بندی (Semantic Versioning - SemVer)
ساختار استاندارد ورژن‌بندی معنایی (Semantic Versioning) معمولاً این شکلیه:
X.Y.Z

X (Major - تغییرات بزرگ)
وقتی این عدد تغییر کنه، یعنی کلی چیز عوض شده مثلاً سازگاری عقبگرد (backward compatibility) شکسته شده و ممکنه کدهای قدیمی دیگه کار نکنن یا به عبارتی BREAKING CHANGE به وجود اومده.

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

Z (Patch - رفع باگ‌ها و بهبودها)
فقط باگ فیکس یا بهینه‌سازیای جزئی انجام شده و هیچ قابلیت جدیدی اضافه نشده.

🔹 مثال عملی از ورژن‌بندی
فرض کن داریم روی یه اپلیکیشن کار می‌کنیم:

✅ 1.0.0 → نسخه اولیه منتشر شد.
✅ 1.1.0 → یه قابلیت جدید مثل ورود با گوگل اضافه شد.
✅ 1.1.1 → یه باگ توی صفحه لاگین فیکس شد.
✅ 2.0.0ساختار دیتابیس عوض شد و نسخه‌های قبلی دیگه کار نمی‌کنن.

🔍 پس کی باید Major، Minor یا Patch رو تغییر بدیم؟
وقتی API رو تغییر دادی و ممکنه کدای قدیمی دیگه کارنکنن؟

‏Major رو ببر بالا 🚀

یه فیچر جدید اضافه کردی ولی چیزی از قبل به مشکل نمیخوره؟
‏Minor رو ببر بالا 📈

فقط یه باگ کوچیک فیکس کردی؟
‏Patch رو ببر بالا 🛠️

🔹 انواع مختلف ورژن بندی؟
گاهی وقتا می‌بینی که ورژنا این شکلیه:
🔸1.2.3-alpha → نسخه آزمایشی (قبل از انتشار اصلی)

🔸 1.2.3-beta → نسخه بتا، برای تست کاربرا
🔸 1.2.3-rc1 → نسخه Release Candidate که تقریباً آماده است

جمع‌بندی
ورژن‌بندی معنایی باعث میشه بفهمیم یه نسخه چقدر تغییر کرده و آیا آپدیتش برای ما مشکلی ایجاد می‌کنه یا نه.
 
Similar threads
Thread starter عنوان تالار پاسخ ها تاریخ
Carlitos رده بندی جهانی زبان های برنامه نویسی برنامه نویسی 28

Similar threads

بالا