بارپو

انتخاب ورژن مناسب در سی شارپ

Version

انتخاب ورژن مناسب در سی شارپ

سلام به دوستانی که در حوزه برنامه نویسی سی شارپ فعالیت می کنند. اخیراً یک پروژه تحت ویندوز را تمام کرده ام و قصد داشتم که ورژن نرم افزار را اصولی برای نرم افزارم تعریف کنم. وقتی که یک نرم افزار را محیط ویژوال استدیو طراحی می کنید قبل از انتشار نرم افزار باید ورژن نرم افزار را مشخص نمائید.
در این مقاله کوتاه قصد آموزش نحوه ایجاد ورژن را نداریم و هدف ما این است که به بخش های یک ورژن در سی شارپ بپردازیم و به منظور آشنایی با این بخش ها؛ یادبگیریم که در صورت هر گونه تغییرات باید کدام از این بخش ها را تغییر دهیم.

هر ورژن از ۴ بخش تشکیل شده است که در تصویر زیر مشاهده می فرمائید و بصورت پیش فرض مقدار ۱٫۰٫۰٫۰ می باشد.

Ver-C-sharp

Major  : مقدار اعداد صحیح مثبت و برای انتشار عمومی از ۱ شروع می شود.

چه زمانی عددشو تغییر بدیم؟

  • زمانی که شکست در public API نرم افزار صورت بگیره. (در حدی که کاربر نتونه نسخه جدید رو نسخه قدیم سازگار کنه (مثل library ها))
  • یا شیوه کار با نرم افزار تغییر کنه.
  • یا دگرگونی های اساسی و گسترده ای صورت بگیره.

چه تاثیری روی بقیه مشخصه ها میذاره؟ درصورت تغییر این عدد Major، عدد Minor و عدد Revision/Patch مجدداً به ۰ ریست می شن.

مثال: در نسخه ۲.۴٫۶ نرم افزار، یک شکست API صورت گرفت، پس نسخه جدید میشه ۳.۰٫۰٫

 

نکته ۱: اگر عدد Major تغییر کنه، دیگه نباید سعی کنید نرم افزار رو با نسخه های قبلیش سازگار کنید. مگر اینکه هدف Backward compatibility باشه.

نکته ۲: اگر نرم افزار در اولین فاز توسعه قرار داره و هنوز در دسترس عموم قرار نگرفته، در این صورت فقط عدد Minor و عدد Revision/Patch تغییر می کنن (مثل ۰٫۱.۰, ۰٫۱.۱, ۰٫۲.۳ و…) یا جدای از نسخه عمومی، یک نسخه داخلی هم برای نرم افزار درنظر گرفته میشه.

 

Minor مقدارش چیه؟ اعداد صحیح مثبت و از ۰ شروع میشه.

چه زمانی عددشو تغییر بدیم؟

  • زمانی که امکان جدید اضافه میشه.
  • زمانی که تغییرات جزئی در public API نرم افزار صورت بگیره. (در حدی که کاربر بتونه با تغییراتی در نرم افزار/دیتا خودش با نسخه جدید سازگار بشه)
  • یا ظاهر نرم افزار تغییر پیدا میکنه.
  • یا تعدادی امکانات جدید کوچیک اضافه میشه.
  • یا یک ماژول/کامپونت اضافه میشه.
  • یا performance به مقدار قابل توجهی افزایش پیدا میکنه.
  • یا روی بخش عمده ای از کد دوباره کار میشه.

چه تاثیری روی بقیه مشخصه ها میذاره؟ درصورت تغییر عدد Minor ، عدد Revision/Patch مجدداً به ۰ ریست می شن.

مثال: در نسخه ۲٫۴.۷ نرم افزار، یک ماژول اضافه شده، performance هم افزایش پیدا کرده، پس نسخه جدید میشه ۲٫۵.۰٫

 

Revision/Patch مقدارش چیه؟ اعداد صحیح مثبت و از ۰ شروع میشه.

چه زمانی عددشو تغییر بدیم؟

  • زمانی که تغییرات جزئی در کدها صورت بگیره.
  • یا باگ fix بشه.
  • یا مستندات نرم افزار تغییر پیدا کنن.
  • یا بهبود های جزیی صورت بگیره.
  • یا security patch انجام بگیره.
  • یا dependency ای upgrade بشه. (با internal-library ها اشتباه نگیرید)

چه تاثیری روی بقیه مشخصه ها میذاره؟ اغلب هیچی

مثال: در نسخه ۱٫۰٫۳ نرم افزار، مستندات نرم افزار بروز شدن، تعدادی از dependency ها upgrade شدن، کمی بهبود در کدها صورت گرفت، پس نسخه جدید میشه ۱٫۰٫۶.

 

Build این مشخصه تعیین می کنه که نرم افزار چند بار compile/build/release شده. (یا در بعضی موارد فقط خطای داخلی رفع شده)

مقدارش چیه؟ اعداد صحیح مثبت و از ۱ شروع میشه.

چه زمانی عددشو تغییر بدیم؟

  • در هربار که نسخه جدیدی compile یا build یا release می کنید یک واحد عددشو بالا می برید.
  • یا خودش بصورت خودکار در هربار compile یک واحد افزایش پیدا می کنه.

چه تاثیری روی بقیه مشخصه ها میذاره؟ هیچی

مثال: در نسخه ۱٫۰٫۰٫۱ نرم افزار، یک ماژول اضافه شده، performance هم افزایش پیدا کرده، تعدادی امکانات جدید کوچیک اضافه شد، ظاهر نرم افزار تغییر کرد، مستندات نرم افزار بروز شدن، تعدادی از dependency ها upgrade شدن، کمی بهبود در کدها صورت گرفت، پس نسخه جدید میشه ۱٫۴٫۰٫۲.

 

 

بدون نظر

ارسال دیدگاه