پنج شنبه , مرداد ۲۰ ۱۴۰۱
خانه / آموزش برنامه نویسی / اصول نامگذاری و نسخه بندی نرم افزارها چگونه است؟

اصول نامگذاری و نسخه بندی نرم افزارها چگونه است؟

 اصول نامگذاری و نسخه بندی نرم افزارها چگونه است؟

 

با سلام به همه عزیزان و همراهان گرامی وب سایت Aspcore.ir با مقاله اصول نامگذاری و نسخه بندی نرم افزارها چگونه است؟ در خدمت شما هستیم.

 

یکی از اصول و مفاهیم بسیار مهم که نیاز هست هر برنامه نویسی اون رو بدونه نحوه نام گذاری و نسخه بندی نرم افزارها می باشد. این اصول نامگذاری و نسخه بندی برای تمامی زبانهای برنامه نویسی (نرم افزارهای دسک تاپ، سیستم های تحت وب و اپلیکیشن های موبایل) به یک صورت می باشد و نیاز می باشد که شما به عنوان برنامه نویس با آن آشنا باشید. در ادامه به توضیح و ذکر مثال از این اصول می پردازیم.

 

اصول نسخه بندی (Versioning) پروژه های نرم افزاری با استفاده از روش Semantic Versioning یا SemVer :

در این روش نسخه بندی پروژه معمولا به شکل زیر انجام می گیرد :

ProjectName Major.Minor.Patch/Revision [-/.Build] [ReleaseState] [Archtecture] [Date] [Time]

 

 

مثال :

Paya System v2.0.0.0 alpha.1 x86 20180315

Paya System v2.0.0.0 beta.1 x86 20180316

Paya System v2.0.0.0 RC.1 x86 20180317

Paya System v2.0.0.0 Stable x86 20180318

Paya System v2.0.0.0 Final x86 20180319

 

 

Major : تغییرات گسترده ای صورت پذیرد که برنامه قابل Update نخواهد بود و باید نسخه جاری Uninstall نموده و نسخه جدید را نصب کنیم.

مثال :

۱-  API های موجود (dll ها و Library ها) تغییر پیدا کند.

۲- شیوه کار با نرم افزار تغییر پیدا کند.

۳- دگرگونی های اساسی و گسترده ای صورت پذیرد.

نکته :

در صورت تغییر عدد Major اعداد Minor، Patch و Build به ۰ تغییر پیدا می کند.

 

 اصول نامگذاری و نسخه بندی نرم افزارها چگونه است؟

 

Minor : زمانی که قابلیت های جدید افزوده می گردد.

مثال :

۱- امکانات جدید افزوده گردد.

۲- ظاهر نرم افزار تغییر پیدا کند.

۳- کلاس و یا ماژولی به برنامه اضافه گردد.

۴- کارایی و یا Performance افزایش پیدا می کند.

۵- بر روی بخش عمده ای از کد مجدد کار می شود.

نکته :

در صورت تغییر عدد Minor، اعداد Patch و Build نیز به ۰ تغییر پیدا می کند.

 

 اصول نامگذاری و نسخه بندی نرم افزارها چگونه است؟

 

Patch/Revision : تغییرات جزیی در کدها مانند رفع Bug ها صورت بگیرد.

مثال :

۱- Bug های پروژه Fix شود.

۲- بهبودهای خیلی جزیی انجام پذیرد.

۳- Dependancy بروزرسانی شود.

 

 

Build : تعداد Compile/Build/Release های انجام گردیده می باشد.

مثال :

Paya System v0.1.0.15

Paya System v0.1.0-15

 

 

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

مثال :

Paya System v0.1.0.15 x86

Paya System v0.1.0.15 x64

Paya System v0.1.0.15 w64

Paya System v0.1.0.15 i386

Paya System v0.1.0.15 i486

Paya System v0.1.0.15 arm

 

 

ReleaseState : بیانگر وضعیت انتشار نرم افزار می باشد

Deprecated :

بیانگر این است که نسخه از نرم افزار دیگر توسط توسعه دهندگان خود پشتیبانی نمی گردد و منسوخ شده است.

 

Alpha :

مرحله اول تست گیری از برنامه را با Alpha مشخص می کنند و دارای فرمتی به شکل زیر می باشد :

Paya System v2.0.0.0-alpha.1

Paya System v2.0.0.0-alpha.2

Paya System v2.0.0.0-alpha.3

 

Beta :

مرحله دوم تست گیری از برنامه که تست های پیچیده تر و بیشتری از برنامه اخذ می گردد و دارای فرمتی به شکل زیر می باشد :

Paya System v2.0.0.0-beta.1

Paya System v2.0.0.0-beta.2

Paya System v2.0.0.0-beta.3

 

RC (Release Condidate) :

مرحله آخر تست گیری از برنامه است که تست های نهایی گرفته می شود و با رفع Bug های موجود، این نسخه از برنامه را کاندیدی برای تبدیل به نسخه نهایی می کند و دارای فرمتی به شکل زیر می باشد :

Paya System v2.0.0.0-RC.1

Paya System v2.0.0.0-RC.2

Paya System v2.0.0.0-RC.3

 

Stable :

نسخه نهایی که برای عرضه عمومی آماده شده است.

Paya System v2.0.0.0 Stable

 

Final :

زمانیکه که قرار است Major جدیدی ارائه دهیم و قصد تغییر Minor و یا Patch برای Major فعلی را نداریم از کلمه Final در انتهای نسخه فعلی استفاده می کنیم.

مثال :

Paya System v1.15.10.20 Final x86

 

Date و Time :

هنگامی که پروژه را منتشر می کنیم.

مثال :

Paya System v2.0.0.0 Stable x86 20180314

 

 

نکات کلی :

۱- شروع پروزه از ۰٫۱٫۰ است نه ۰٫۰٫۱

۲- زمانی از نسخه ۱٫۰٫۰ استفاده می کنیم که ReleaseState پروژه Stable باشد و آماده عرضه عمومی و استفاده برای مشتری باشد.

۳- بعد از هر چند Bug گیری (Patch) می توانیم نسخه جدید انتشار دهیم. مثلا نسخه فعلی ۰٫۱٫۵ باشد و نسخه بعدی پس از مثلا ۱۰ رفع ایراد یک واد به عدد Patch اضافه گردانیم و نسخه جدید ۰٫۱٫۶ گردد.

 

 

در پایان از کاربر گرامی جناب آقای مهندس شاهین سبحانی بابت ارسال این مقاله بسیار مفید تشکر می کنم.

 

 اصول نامگذاری و نسخه بندی نرم افزارها چگونه است؟

یک دیدگاه

  1. آقا فوق العاده بود

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

*

code