অনেকগুলি সফ্টওয়্যার আপডেট v0.1 থেকে v0.2 থেকে v2.6.5.6 এর স্কিম অনুসরণ করে । সফ্টওয়্যারগুলির এই "আপডেটগুলি" এর অর্থ কী? কোনও শিল্প মান সর্বদা অনুসরণ করা হয় বা প্রোগ্রামাররা কি আপডেট বাড়িয়ে রাখে # বা আরও দশমিক যোগ করে?
অনেকগুলি সফ্টওয়্যার আপডেট v0.1 থেকে v0.2 থেকে v2.6.5.6 এর স্কিম অনুসরণ করে । সফ্টওয়্যারগুলির এই "আপডেটগুলি" এর অর্থ কী? কোনও শিল্প মান সর্বদা অনুসরণ করা হয় বা প্রোগ্রামাররা কি আপডেট বাড়িয়ে রাখে # বা আরও দশমিক যোগ করে?
উত্তর:
শন যেমন বলেছেন, সত্যিকার অর্থে কোনও মান নেই। কিছু সংস্থার অন্যদের তুলনায় ভাল সংস্করণ অনুশীলন রয়েছে (আমি বিক্রেতাদের সাথে व्यवहार করেছি যারা প্রধান সংস্করণ নম্বরগুলি এড়িয়ে যায়, এবং অন্যান্যগুলি পরে একই প্রকাশে বেশ কয়েকটি প্রকাশে আটকে থাকে)।
এটি বলার পরে, গ্রাভাটারসের উদ্ভাবক এবং গিটহাবের কোফাউন্ডার ( টম প্রেস্টন-ওয়ার্নার ) ' সিমেন্টিক ভার্সনিং'-এর জন্য একটি নথি রচনা করেছিলেন যা পড়ার মতো নয়।
এখানে ইন্ট্রো ব্যতীত:
এই সমস্যার সমাধান হিসাবে, আমি নিয়ম এবং প্রয়োজনীয়তার একটি সহজ সেট প্রস্তাব করি যা ভার্সন নম্বরগুলি কীভাবে নির্ধারিত হয় এবং বর্ধিত হয় তা নির্দেশ করে। এই সিস্টেমটি কাজ করার জন্য আপনাকে প্রথমে একটি সর্বজনীন এপিআই ঘোষণা করতে হবে। এটিতে ডকুমেন্টেশন থাকতে পারে বা কোড থেকেই প্রয়োগ করা যেতে পারে। নির্বিশেষে, এই APIটি পরিষ্কার এবং সুনির্দিষ্ট হওয়া গুরুত্বপূর্ণ। একবার আপনি আপনার সর্বজনীন এপিআই সনাক্ত করে ফেললে আপনি নিজের সংস্করণ নম্বরে নির্দিষ্ট বর্ধিতকরণের সাথে এতে পরিবর্তনগুলি যোগাযোগ করেন। এক্সওয়াইজেড (মেজর.মিনোর.প্যাচ) এর একটি সংস্করণ বিন্যাস বিবেচনা করুন। ত্রুটি সংশোধনকারীগুলি প্যাচ সংস্করণটি API বৃদ্ধি করে না, পিছনের দিকের সামঞ্জস্যপূর্ণ এপিআই সংযোজন / পরিবর্তনগুলি গৌণ সংস্করণে বৃদ্ধি করে এবং পিছনে অসম্পূর্ণ এপিআই পরিবর্তনগুলি প্রধান সংস্করণে বৃদ্ধি করে।
আমি এই সিস্টেমটিকে "সিমেন্টিক ভার্সন" বলি। এই স্কিমের অধীনে, সংস্করণ নম্বর এবং তারা যেভাবে পরিবর্তন করে তা অন্তর্নিহিত কোডটি বোঝায় এবং একটি সংস্করণ থেকে অন্য সংস্করণে কী পরিবর্তন হয়েছে।
4 টি সংখ্যার সাথে এটি সাধারণত মেজরভি.মিনরভি.প্যাচনাম.বিল্ডনাম হয়, কমপক্ষে আমি যেখানে কাজ করি।
আমি ব্যক্তিগতভাবে উবুন্টুর সংস্করণ প্রকল্পটি পছন্দ করি - জীবনকে এত সহজ করে তোলে।
সংক্ষিপ্ত সংস্করণটি হ'ল কোনও মান নেই এবং সংস্থাগুলি যা খুশি তাই করে। মূলত, আপনার যত বেশি সংখ্যক সংখ্যা রয়েছে, প্রতিটি সংখ্যার পরিবর্তনের পরিমাণ তত ছোট। সাধারণভাবে, আপনি কমপক্ষে XY সংস্করণ দেখতে পাবেন, যেখানে x এ x এর পরিবর্তনগুলি বড় রিলিজ (প্রধান বর্ধিতকরণ / বৈশিষ্ট্য রোলআউটগুলি) বোঝায় এবং y ক্ষুদ্র প্রকাশগুলি (উল্লেখযোগ্য টুইটগুলি বা ত্রুটি সমাধানগুলি) চিহ্নিত করে। এই দুটি পরে আরও দশমিক একটি কোম্পানির অভ্যন্তরীণভাবে বিভিন্ন জিনিস বোঝাতে পারে যদিও প্রায়শই গৌণ বিষয়বস্তু বিল্ড বা প্যাচগুলি ঘোরানো হয় যা দ্রুত এবং আরও ছোট সংশোধনগুলি উপস্থাপন করে।
উইকিপিডিয়ায় একটি নিবন্ধ রয়েছে যা এটি আরও বিস্তারিতভাবে কভার করে।
সংস্করণ নম্বরগুলির উদ্দেশ্য হ'ল সমস্যা প্রতিবেদনগুলির জন্য একটি রেফারেন্স সরবরাহ করা। একমাত্র প্রয়োজন হ'ল প্রতিটি প্রকাশের একটি অনন্য সংস্করণ নম্বর থাকে। কিছু নম্বর বিপণন দ্বারা চালিত হয় - বড় পুরো সংখ্যা বিক্রি করা সহজ এবং 10 (রোমান অঙ্কের এক্স) এর মতো পাওয়ার সংখ্যাগুলি সত্যই আকর্ষণীয়। কিছু লোক শব্দার্থক সংস্করণের কিছু প্রকরণ ব্যবহার করে:
MAJOR.MINOR.MICRO.BUILD
অনেক গ্রুপ তাদের রিলিজে বিল্ড নম্বরটি ফেলে দেয়। এটি সাধারণত পরীক্ষার এবং বিকাশকারী গ্রুপগুলির মধ্যে কেবল কার্যকর।
কিছু গোষ্ঠী অতিরিক্ত শব্দার্থক যুক্ত করে, যেমন অদ্ভুত সংখ্যাযুক্ত মাইনর বর্ধিততা পরীক্ষামূলক বিল্ডগুলির জন্য এবং এমনকি মাইনরযুক্ত নম্বরযুক্ত এমএনওআর বর্ধনগুলি উত্পাদন প্রকাশের জন্য হয় ( লিনাক্স কার্নেল এই পদ্ধতির ব্যবহার করে)।
নীচের লাইনটি এমন কোনও মান নেই যা নতুন সংস্করণগুলি ব্যতীত উচ্চতর সংস্করণ নম্বর ব্যবহার করে এবং প্রতিটি সংস্করণ নম্বরটি অনন্য।