বড় সফ্টওয়্যার প্রকল্পগুলিতে রান-টাইমে সংঘটিত নির্ভরতা সম্পর্কিত সমস্যার জন্য আপনি সাধারণত কীভাবে যোগাযোগ করেন?
গত তিন সপ্তাহ ধরে, আমি সফ্টওয়্যারটির অন্য উপাদানটির মধ্যে একটি বৃহত টুকরা সফ্টওয়্যারটির একটি উপাদান শুরু করার চেষ্টা করছি, তবে এটি কেবলমাত্র রান-টাইমে পরিচিত ট্রানজিটিভ নির্ভরতা সম্পর্কিত সমস্যার কারণে মাঝেমধ্যে মারা যায়।
ট্রানজিটিভ নির্ভরতা ইস্যু দ্বারা, আমি বোঝাতে চাইছি প্রদত্ত প্রকল্পের নির্ভরতাগুলির নির্দিষ্ট নির্ভরতাগুলি রান-টাইমে অন্যান্য নির্ভরতাগুলির সাথে সংঘর্ষিত হয়, যার ফলে অস্থিরতা বা তাত্ক্ষণিক ব্যর্থতা ঘটে।
এখানে শত শত নির্ভরশীলতা ব্যবহারের উপর নির্ভর করে এবং সেখানে প্রায় 50 টি উপ-প্রকল্পের সাথে যুক্ত রয়েছে যা অন্যান্য দল দ্বারা বিচ্ছিন্নভাবে কাজ করা হয়, যেখানে সমস্ত মডিউলগুলি একে অপরের মধ্যে গভীরভাবে নীড় নির্ভরশীলতা রয়েছে। প্রকল্পের স্কেল এবং জটিলতা দেখিয়ে উপ-প্রকল্পগুলির সমস্ত কী ব্যবহৃত হয় তা কেউ জানে না।
এই পরিস্থিতিতে, আপনি কি আক্রান্ত উপাদানটির প্রতিটি নির্ভরতার জন্য ডাগের একটি চাক্ষুষ প্রতিনিধিত্ব করার চেষ্টা করবেন এবং রান-টাইমে সংঘর্ষগুলি কোথায় ঘটতে পারে তা নির্ধারণের চেষ্টা করবেন? অন্যান্য উপ-প্রকল্পগুলিতে নির্ভরতাগুলি কীভাবে পরিচালিত হয় তার উপরে আমার কোনও নিয়ন্ত্রণ নেই এবং অন্য বিকাশকারীদের দ্বারা লিখিত কোনও জাভা কোডও পরিবর্তন করতে পারি না
সমাধানগুলি আমি কেবল এক ঘন্টা বা দু' ঘন্টা ধরে কাজ করে এসেছি এবং তারপরে উজানের উপাদানগুলির পরিবর্তনের কারণে তারা কাজ করা বন্ধ করে দেয়। প্রবাহের উপাদানটির উদাহরণ হ'ল একটি শিল্পকর্ম যা আমি যে প্রকল্পে কাজ করছি তার উপর নির্ভর করে যা সিআই পাইপলাইনে পূর্বের পর্যায়ে নির্মিত হয়েছিল।
অন্যের অনুরোধে , আমি কী পরিমাণ প্রযুক্তি ব্যবহার করা হচ্ছে, খুব বেশি তথ্য সরবরাহ করার জন্য প্রশ্নটি বন্ধ করার ঝুঁকিতে বা শরীর দীর্ঘায়িত হওয়ার ঝুঁকিতে তথ্য অন্তর্ভুক্ত করতে যাচ্ছি:
- ম্যাভেন নির্ভরতা পরিচালনার জন্য ব্যবহৃত হয়; এবং
- স্প্রিং একটি ডিআই পাত্রে হিসাবে ব্যবহৃত হয়;
- রান-টাইমে অন্যান্য মডিউলগুলির কনটেক্সটগুলির ফলস্বরূপ সর্বাধিক নির্ভরশীলতার বিষয়গুলি ওভারল্যাপিং শিমের প্রসঙ্গে জড়িত
- পণ্যটি সঠিকভাবে কাজ করে এবং সেখানে ইউনিট টেস্টের স্মর্গাসবার্ডস এবং প্রোগ্রামের কার্যকারিতা যথার্থতার জন্য বিচ্ছিন্নকরণের জন্য ইন্টিগ্রেশন টেস্ট রয়েছে
সাধারণভাবে, আমি কোনও প্রদত্ত প্রকল্পের নির্ভরতার সমস্ত সম্ভাব্য সংমিশ্রণগুলি গণনা না করে নির্ভরতা বিরোধগুলি সমাধানের উপায়গুলি সনাক্ত করার জন্য একটি ভাষা-অজ্ঞাত পদ্ধতির সন্ধান করছি ।
আমি প্রকল্পটি নতুন করে আর্কিটেক্ট করতে পারি না, অতিরিক্ত মানের গেট যুক্ত করতে পারি না, সংস্থার পুরো দৃষ্টান্তের শিফ্টের জন্য চাপ দিতে পারি বা রেজোলিউশন হিসাবে ভাষা পরিবর্তন করতে পারি।