আমরা একে অপরের উপর নির্ভর করে সফ্টওয়্যার উপাদানগুলির জন্য সংস্করণ নম্বরকরণের একটি ভাল উপায়ের বিষয়ে সিদ্ধান্ত নেওয়ার চেষ্টা করছি।
আরও নির্দিষ্ট করা যাক:
সফ্টওয়্যার উপাদান A একটি এম্বেডড ডিভাইসে চালিত একটি ফার্মওয়্যার এবং উপাদান বি এটি একটি সাধারণ পিসির জন্য লিনাক্স / উইন্ডোজ মেশিনের জন্য স্ব স্ব ড্রাইভার driver তারা কাস্টম প্রোটোকল ব্যবহার করে একে অপরের সাথে যোগাযোগ করছে। যেহেতু, আমাদের পণ্যগুলি বিকাশকারীকেও লক্ষ্যযুক্ত করা হয়েছে, তাই আমরা উভয় উপাদানগুলির স্থিতিশীল এবং অস্থির (পরীক্ষামূলক) সংস্করণগুলি সরবরাহ করব (ফার্মওয়্যারটি ক্লোজ-সোর্স, ড্রাইভারটি ওপেন-সোর্স রয়েছে)। যোগাযোগের প্রোটোকলে কীভাবে এপিআই পরিবর্তনগুলি পরিচালনা করতে হয় তা হল আমাদের বৃহত্তম সমস্যা difficulty
যখন আমরা ড্রাইভারটিতে একটি সামঞ্জস্যতা পরীক্ষাটি প্রয়োগ করছিলাম - এটি ফার্মওয়্যার সংস্করণটি ড্রাইভারের সংস্করণের সাথে সামঞ্জস্যপূর্ণ কিনা তা পরীক্ষা করে - আমরা সংস্করণ সংখ্যার একাধিক উপায় নিয়ে আলোচনা শুরু করি।
আমরা একটি সমাধান নিয়ে এসেছি, তবে আমাদের চাকাটি পুনর্বহাল করার মতোও বোধ হয়েছিল। এজন্য আমি প্রোগ্রামার / সফ্টওয়্যার বিকাশকারী সম্প্রদায় থেকে কিছু প্রতিক্রিয়া পেতে চাই, যেহেতু আমরা মনে করি এটি একটি সাধারণ সমস্যা।
সুতরাং এখানে আমাদের সমাধান:
আমরা বহুল ব্যবহৃত মেজর.মিনার.প্যাচ সংস্করণ সংখ্যাটি অনুসরণ করার এবং স্থিতিশীল / অস্থির সংস্করণগুলির জন্য এমনকি / বিজোড় গৌণ সংখ্যাগুলি ব্যবহার করার পরিকল্পনা করি। যদি আমরা এপিআইতে পরিবর্তনগুলি পরিচয় করিয়ে দেই তবে আমরা সংখ্যালঘু সংখ্যা বাড়িয়ে দেব।
এই সম্মেলন নিম্নলিখিত উদাহরণ পরিস্থিতির দিকে নিয়ে যাবে:
বর্তমান স্থিতিশীল শাখাটি 1.2.1 এবং অস্থির 1.3.7। এখন, অস্থিরতার জন্য একটি নতুন প্যাচ এপিআই পরিবর্তন করে, নতুন অস্থির সংস্করণ নম্বরটি 1.5.0.0 এ পরিণত করার কারণ কী। একবার, অস্থির শাখাটি স্থিতিশীল হিসাবে বিবেচনা করা হয়, এর 1.5.3 এ বলি, আমরা এটি 1.4.0 হিসাবে প্রকাশ করব।
আমি নীচে সম্পর্কিত যে কোনও প্রশ্নের উত্তর সম্পর্কে খুশি হব:
- আপনি কি উপরে বর্ণিত সমস্যাগুলি পরিচালনা করার জন্য সেরা অনুশীলনের পরামর্শ দিতে পারেন?
- আপনি কি আমাদের "কাস্টম" কনভেনশনটি ভাল বলে মনে করেন?
- বর্ণিত সম্মেলনে আপনি কী পরিবর্তনগুলি প্রয়োগ করবেন?