কীভাবে সিআইমেটিক ভার্সনিং এপিআই ছাড়াই প্রোগ্রামগুলিতে প্রযোজ্য


42

ইন http://semver.org/ -যেটা আমার উপলব্ধি versioning- এটা যখন একটি পরিবর্তনের জন্য বিরতি / পরিবর্তন এপিআই করানো হয় প্রধান সংস্করণ সংখ্যা বৃদ্ধি বাঞ্ছনীয় সবচেয়ে বহুল ব্যবহৃত কনভেনশন মনে করা হয়।

দুটি সম্পর্কিত পরিস্থিতি রয়েছে যা আমি এই নির্দেশিকাটি কীভাবে প্রয়োগ করতে পারি তা দেখতে পাচ্ছি না:

  1. আমার কোডটি যদি কোনও এপিআই অফার না করে তবে কী হবে? আমার কোডটি আমি কীভাবে সংস্করণ করব?
  2. আমার কোডটির উন্নয়নের দেরীতে যদি কোনও এপিআই দেওয়া শুরু করে তবে কী হবে?

7
বৈশিষ্টটির 1 পয়েন্টে বলা হয়েছে: সিমেন্টিক ভার্সন ব্যবহার করে সফ্টওয়্যার একটি সর্বজনীন এপিআই ঘোষণা করতে হবে। এই এপিআইটি কোডটিতেই ঘোষিত হতে পারে বা ডকুমেন্টেশনে কঠোরভাবে উপস্থিত হতে পারে। তবে এটি করা হয়, এটি সুনির্দিষ্ট এবং বিস্তৃত হওয়া উচিত। সুতরাং আমি অনুমান করি উত্তরটি আপনি প্রযুক্তিগতভাবে SemVer ব্যবহার করছেন না এটি সম্পূর্ণরূপে আপনার।
পিপীলিকা পি

এই নিবন্ধটি পরীক্ষা করুন যা অ্যাপ্লিকেশনগুলিতে কোনও ডেস্কটপ অ্যাপ্লিকেশনগুলির মতো কোনও এপিআই দেয় না
এমনগুলির

উত্তর:


48

সেমভার মূলত গ্রন্থাগারগুলি এবং প্যাকেজগুলি এমন এক উপায়ে সংস্করণকরণ সম্পর্কে উদ্বিগ্ন যা বিভিন্ন অবতারে নির্ভর করে hell যাইহোক, সেমভারের পিছনে ধারণাটি সমস্ত ধরণের প্রোগ্রামগুলিতে প্রসারিত হতে পারে - যে কোনও কোডের টুকরোতে কোনও না কোনও ব্যবহারকারীর ইন্টারফেস থাকে, বা এটি বেশ অকেজো।

  • একটি প্রোগ্রামিং লাইব্রেরি বা ওয়েব পরিষেবাদির একটি এপিআই থাকে।
  • গ্রাহক সফ্টওয়্যারটির একটি জিইউআই থাকতে পারে।
  • কমান্ড লাইন প্রোগ্রামগুলির মধ্যে একটি স্যুইচ এবং বিকল্প রয়েছে।
  • কনফিগারেশন ফাইলগুলিও একটি ব্যবহারকারী ইন্টারফেস।

ওয়ার্ড প্রসেসরের মতো ভোক্তা সফ্টওয়্যার উদাহরণ ব্যবহার করে:

  • আপনি যখন কোনও বাগ ফিক্স প্রেরণ করেন তখন প্যাচ সংখ্যাটি বৃদ্ধি করুন, যেমন: " স্থির ত্রুটি যেখানে মঙ্গলবার বিকাল ৫ টা ৪০ মিনিটে অ্যাপ্লিকেশন সর্বদা ক্রাশ হয় "।
  • নতুন বৈশিষ্ট্য যুক্ত করার সময় গৌণ সংস্করণ সংখ্যা বৃদ্ধি করুন, যেমন: " আন্ডারলাইনযুক্ত পাঠ্যের জন্য যোগ করা সমর্থন "।
  • আপনি যখন ইউজার ইন্টারফেসটি উল্লেখযোগ্যভাবে পুনর্নির্মাণ করেন বা সমস্ত ইন্টার্নাল পুনর্লিখন করেন তখন প্রধান সংস্করণটি বাড়ান। যেমন: “ সরঞ্জামদণ্ডগুলি খুব বেশি স্ক্রিন এস্টেট ব্যবহার করে। ইউআই এখন কেবল স্পর্শ অঙ্গভঙ্গির মাধ্যমে সরবরাহ করা হয়েছে ”- এই ধরনের পরিবর্তনটি বিদ্যমান কর্মপ্রবাহকে ভেঙে দেবে।

যাইহোক, সেমভার অনেকগুলি সমস্যা সমাধানের চেষ্টা করে যা নির্ভরতা পরিচালনার ক্ষেত্রের বাইরে নেই। ভোক্তা অ্যাপ্লিকেশনগুলিতে, সংস্করণটি কেবল একটি সংস্করণ নয়, বিপণনের সম্পদও।

  • ফায়ারফক্স এবং ক্রোম তুলনামূলকভাবে নতুন সংস্করণগুলি প্রায়শই প্রকাশ করে এবং প্রতিটি রিলিজে তাদের প্রধান সংস্করণ সংখ্যা বৃদ্ধি করে। হাস্যকরভাবে উচ্চ সংস্করণ সংখ্যাগুলির ফলাফল (উভয়ই বর্তমানে তাদের 30 এর দশকে)। একটি উচ্চতর সংস্করণ নম্বর সহ একটি ব্রাউজার কেবল কম সংস্করণ নম্বর সহ একটি ব্রাউজারের চেয়ে ভাল হতে হবে, তাই না?

  • অ্যাপলের অপারেটিং সিস্টেম ওএস এক্সের প্রধান সংস্করণ নম্বর নামের অংশে পরিণত হয়েছে (রোমান সংখ্যায় X হ'ল), গৌণ সংস্করণ সংখ্যাটিকে কার্যকর প্রধান সংস্করণ সংখ্যা তৈরি করেছে।

  • উবুন্টু অপারেটিং সিস্টেমটি Year.month.patchlevel সংস্করণ স্কিম ব্যবহার করে। এটি আপনার ওএস কত পুরানো তা মনে রাখা সহজ করে তোলে তবে কোন সংস্করণটি সামঞ্জস্যপূর্ণ তা নির্ধারণ করা আরও জটিল করে তোলে এবং প্রতিটি সংস্করণের জন্য কতক্ষণ সমর্থন চলে।

  • লিনাক্স কার্নেলটি সংস্করণ সংখ্যাটি ২.6.৩৯ থেকে ৩.০.০ এ ধাক্কা দিয়েছে, কারণ এটি 39কিছুটা বড় হয়ে উঠছিল , এবং লিনাক্সের 20 তম বার্ষিকী উপলক্ষে।

  • ডোনাল্ড নুথের কিংবদন্তী টেক্স টাইপসেটিং সিস্টেমটি এমন একটি সংস্করণ নম্বর ব্যবহার করে যা সংস্করণ 3 হিসাবে প্রতিটি প্রকাশের সময় আরও একটি অঙ্ক যোগ করে π এ রূপান্তর করে: 3.14159265…। এটি সিস্টেমটি কীভাবে পরিপূর্ণতার নিকটে চলেছে তা বোঝায়। একইভাবে, মেটাফন্ট সিস্টেমটি : 2.7182818 তে রূপান্তর করে ...

সুতরাং, অনেক অ্যাপ্লিকেশন Semver দ্বারা ভাল পরিবেশন করা হয় না। আপনার ব্যবহারকারীদের জন্য ভাল এমন সংস্করণ স্কিমটি চয়ন করুন (এই ব্যবহারকারীরা সহকারী প্রোগ্রামার বা ভোক্তা কিনা তা নির্বিশেষে) এবং এটি ধারাবাহিক রাখুন।


1
মাইক্রোসফ্ট ডেভলপমেন্ট সরঞ্জামগুলির দ্বারা উত্পাদিত প্রচুর সফ্টওয়্যারটির এবিসিডি ফর্ম্যাট রয়েছে, যেখানে এবি একটি "সাধারণ" প্রধান / গৌণ সংস্করণ নম্বর এবং সফ্টওয়্যারটি তৈরি হওয়ার সময় সিডি সেই তারিখ / সময়কে এনকোড করে।
এমজেডবি

আমি π সংস্করণ সিস্টেমের শব্দার্থকে ভালবাসি।
ওজিয়ার শেলভিস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.