নির্ভরতার ক্রিয়াকলাপটি ভেঙে দেওয়া এবং বিকাশের পথে বাধা সৃষ্টি করে তখন কী করবেন?


12

গতকাল আমি একটি রেল 5 এপিআই প্রকল্পে কাজ করছিলাম যা জিনিসগুলিকে ট্যাগ রাখার অনুমতি দেওয়ার জন্য অ্যাক্সেস-টেগেবল-অন লাইব্রেরি ব্যবহার করছে (এসই সম্পর্কিত প্রশ্নের মতো)। 5 টি রেল এখনই আলফা সমর্থনে রয়েছে। মাস্টারে একীভূত হওয়ার জন্য অপেক্ষা করা একটি বাগ ঠিক করার জন্য বর্তমানে একটি জনসংযোগ রয়েছে; ত্রুটিটি কারণে আমার বৈশিষ্ট্য শাখাটি অর্ধেক সমাপ্তির পরে থামতে পারে - আমি লাইব্রেরির কার্যকারিতাটির কোনও প্রয়োগ করতে পারিনি কারণ লোডিং ভেঙে গেছে।

দ্রুত সমাধান হিসাবে, আমি কেবল রেপোকে ক্লোন করেছিলাম, জনগণের একই কোডটি দিয়ে সমস্যাটি ঠিক করেছিলাম এবং আমার গিথুব ফর্ককে আমার জেমফাইলে (নির্ভরতা সংস্করণ নিয়ন্ত্রণ ফাইল) নির্দেশ করে, যতক্ষণ না শেষ পর্যন্ত বাগফিক্সটি মাস্টার হিসাবে ফিরে যায়।

আমি ভাগ্যবান হয়ে উঠলাম যে ফিক্সটি সহজ ছিল ( এবং এটি ইতিমধ্যে কেউ ইতিমধ্যে সম্পন্ন করেছে ), তাই আমি সমস্যাটি ঘটাতে সক্ষম হয়েছি। তবে এই লাইব্রেরিটি যদি আমার অ্যাপ্লিকেশনটির বিকাশের জন্য সমালোচনা করে? আমার বিকাশটি বন্ধ করে দেওয়া বাগফিক্স যদি অন্য মানুষের পক্ষে বিস্তৃত সমস্যা না হয়, তবে এই বারের মতো ঠিক মতো দ্রুত সমাধানটি এলো না ?

কল্পনা করুন যে অন্যান্য নির্ভরশীল বৈশিষ্ট্যগুলির বিকাশের আগে এই বৈশিষ্ট্যটি শেষ করা দরকার - আপনি এই পরিস্থিতিতে কী করবেন? যদি আমার জন্য, ট্যাগিং বিকাশের পরবর্তী বাক্যাংশের জন্য একেবারে সমালোচিত হয়, যেখানে অন্য সমস্ত কিছু তার উপর নির্ভর করে - তবে ট্যাগিং নির্ভরতাটি আমার কনফিগারেশনের জন্য বাগড হয়? নির্ভরতার ক্রিয়াকলাপটি যখন (ক) বৈশিষ্ট্য (গুলি) এর বিকাশকে বাধা দেয় তখন কী করবে?

এবং, অবশ্যই, অফিসে চেয়ারে কয়েক ঘন্টা বা কয়েক দিনের জন্য লড়াই করা কোনও বিকল্প নয় ...

উত্তর:


19

আপনি ওপেন-সোর্স সফ্টওয়্যার ব্যবহার করছেন এটির একটি কারণ, তাই না?

আপনি "আমার খুব ব্যয়বহুল, মালিকানাধীন, ক্লোজ সোর্স লাইব্রেরিটি হঠাৎ করে পড়ে গেলে কি হবে?" আমার পক্ষে এটি সংশোধন করার জন্য [বৃহত্তর, একশাস্ত্র সফটওয়্যার সংস্থা] এমন কেউ কি উপলব্ধ থাকবে? " ওপেন সোর্স সফ্টওয়্যার সহ, কমপক্ষে আপনার সেই বাগটি ঠিক করার সুযোগ রয়েছে chance

যদি আপনার সফ্টওয়্যার একটি ওপেন সোর্স লাইব্রেরিতে গুরুত্বপূর্ণ নির্ভরশীলতা গ্রহণ করে তবে ঝুঁকি হ্রাস করতে আপনি তিনটি জিনিস করতে পারেন:

  1. কোড বেসের সাথে পরিচিত হন, সম্ভবত নিজের অবদানও তৈরি করে। আপনি ওপেন-সোর্সটি বেছে নেওয়ার এটি অন্য কারণ, তাই না?

  2. প্রথম পাঠাগারটি যদি নিচে পড়ে যায় তবে একটি পড়ার পিছনে পাঠাগার রাখুন। আপনি ইন্টারফেসে প্রোগ্রাম কেন এটি; আপনি যদি বাস্তবায়ন পরিবর্তন করতে পারেন, তাই যদি?

  3. স্থিতিশীলতার জন্য আপনার প্রয়োজনের তুলনায় রক্তপাতের প্রবণতার জন্য আপনার ইচ্ছাটিকে ভারসাম্য করুন (যেমন আলফা সফ্টওয়্যার ব্যবহার করবেন না)। তুমি জানলে তুমি কী gettingুকছো তাই?


আপনার উত্তর রবার্ট জন্য ধন্যবাদ; হ্যাঁ আমি এর নতুন বৈশিষ্ট্যগুলির জন্য রেল 5 ব্যবহার করার সিদ্ধান্ত নিয়েছি, এবং প্রকল্পটি সম্পূর্ণরূপে পরিকল্পনা করেছিলাম না এবং জানতাম না যে এই লাইব্রেরিতে রেল 5 এর সাথে সামঞ্জস্যের সমস্যা থাকবে তবে এটি ঠিক আছে, আমি কেবল ডাব্লুআইপি হিসাবে এই শাখাটি রেখেছি এবং আমি ঠিক করার জন্য গিথুব রেপো পর্যবেক্ষণ করছি। আমি অনুমান করি যে এখানে প্রধান পাঠগুলির মধ্যে একটি ভাল পরিকল্পনা করা । উন্নয়ন শুরু করার আগে যদি আমি আরও এক ঘণ্টার বেশি গবেষণা করে থাকি তবে আমি বিষয়টি দেখতে পারতাম!
ক্রিস সাইরেফাইস

11

বাগ বা বৈশিষ্ট্যগুলির অভাব যেখানে অ্যাপ্লিকেশন বিকাশের সমাধান হ'ল উচ্চতর ঝুঁকির গ্রন্থাগার না ব্যবহার করা আপনার কাজ বন্ধ করার ঝুঁকিপূর্ণ। বিরক্তিকর এবং খোঁড়া, আমি জানি ..

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

আপনি যদি এই পরিস্থিতিতে নিজেকে পান তবে আপনাকে মূলত আপনার যা করতে হবে তা করতে হবে (আমরা ঠিক একই কাজটি করেছি)। এটি ঠিক করুন এবং প্রকল্পটি জনসংযোগ করুন।

তবে সমাধানটি বোঝা ফাংশনালিটি এবং এপিআই সহ আরও স্থিতিশীল লাইব্রেরি ব্যবহার করছে বা কমপক্ষে স্থিতিশীল সংস্করণে পিছনে সামঞ্জস্যতা বজায় রাখছে। আপনার নিয়ন্ত্রণ নেই এমন কোনও কিছুর উপর 100% নির্ভর করে আপনার সতর্ক হওয়া উচিত এবং সফল হওয়ার প্রয়োজন।


1

সাধারণত আপনি নিজেরাই লেখেন এমন অ্যাডাপ্টার বা মোড়কের পিছনে তৃতীয় পক্ষের লাইব্রেরিগুলি আড়াল করার পরামর্শ দেওয়া হয়। এর দ্বিগুণ সুবিধা রয়েছে:

  • আপনি নিজের কোড পরিবর্তন না করে অন্য একটি দিয়ে তৃতীয় পক্ষের লাইব্রেরি সরিয়ে নিতে পারেন
  • আপনার নিজের কোডের বাকী অংশটি আপনার নিজের অ্যাডাপ্টার ইন্টারফেসের বিরুদ্ধে প্রোগ্রাম করতে পারেন। লাইব্রেরিতে কোনও অস্থায়ী সমস্যার ক্ষেত্রে, কেবল আপনার নিজের স্টাব / জাল বা লাইব্রেরির কার্যকারিতার সহজ সংস্করণটি প্লাগ করুন। সেভাবে আপনার ডাউন স্ট্রিম বৈশিষ্ট্যগুলির বিকাশ এবং পরীক্ষা করা অবরুদ্ধ নয় (যদিও পুরো প্রোগ্রামের স্থাপনা এখনও রয়েছে)।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.