বৈশিষ্ট্য ছেদ করার বিষয়ে এই নিবন্ধে বর্ণিত সমস্যার মতো আমি সম্প্রতি আরও বেশি বেশি সমস্যা প্রত্যক্ষ করেছি । এর জন্য আরেকটি শর্ত হ'ল পণ্য লাইন, যদিও আমি এগুলিকে প্রকৃতপক্ষে বিভিন্ন পণ্যগুলিতে দায়ী করি, যদিও আমি সাধারণত সম্ভাব্য পণ্য কনফিগারেশনের আকারে এই সমস্যাগুলির মুখোমুখি হই।
এই ধরণের সমস্যার মূল ধারণাটি সহজ: আপনি একটি পণ্যটিতে একটি বৈশিষ্ট্য যুক্ত করেন তবে অন্য বিদ্যমান বৈশিষ্ট্যগুলির সংমিশ্রণের কারণে কোনও কোনও বিষয় জটিল হয়ে যায়। অবশেষে, কিউএ এমন বৈশিষ্ট্যগুলির বিরল সংমিশ্রণে একটি সমস্যা খুঁজে পেয়েছে যা আগে কেউ ভাবেনি এবং সাধারণ বাগফিক্সটি কী হওয়া উচিত তা এমনকি বড় নকশার পরিবর্তনের প্রয়োজনে পরিণত হতে পারে।
এই বৈশিষ্ট্যটি ছেদ করার সমস্যার মাত্রাগুলি একটি মাইন্ড-ফুয়িং জটিল। ধরা যাক বর্তমান সফ্টওয়্যার সংস্করণটির N
বৈশিষ্ট্য রয়েছে এবং আপনি একটি নতুন বৈশিষ্ট্য যুক্ত করেছেন। আসুন আমরা প্রতিটি বৈশিষ্ট্য কেবল চালু বা বন্ধ করতে পারি তা বলে জিনিসগুলি সরল করে তুলি, তারপরে আপনার 2^(N+1)
বিবেচনা করার জন্য ইতিমধ্যে সম্ভাব্য বৈশিষ্ট্য সংমিশ্রণ রয়েছে। আরও ভাল শব্দ / অনুসন্ধান শর্তের অভাবের কারণে আমি এই সংমিশ্রণের অস্তিত্বকে বৈশিষ্ট্য ছেদ করার সমস্যা হিসাবে উল্লেখ করি । (আরও প্রতিষ্ঠিত মেয়াদে রেফারেন্স (গুলি) সহ উত্তরের জন্য বোনাস পয়েন্টস))
এখন আমি যে প্রশ্নটির সাথে লড়াই করছি তা হ'ল উন্নয়ন প্রক্রিয়ার প্রতিটি স্তরে এই জটিলতা সমস্যাটি কীভাবে মোকাবেলা করা যায়। সুস্পষ্ট ব্যয়বহুল কারণে, প্রতিটি ইউনিকেশনকে স্বতন্ত্রভাবে সম্বোধন করতে চাইলে এটি ইউটোপিয়ান হওয়ার অবধি অবৈধ। সর্বোপরি, আমরা একটি ভাল কারণে ক্ষতিকারক জটিলতা অ্যালগরিদম থেকে দূরে থাকার চেষ্টা করি, তবে খুব বিকাশের প্রক্রিয়াটি নিজেকে তাত্পর্যপূর্ণ আকারের দৈত্যে পরিণত করা সম্পূর্ণ ব্যর্থতার দিকে যেতে বাধ্য।
সুতরাং আপনি কীভাবে কোনও পদ্ধতিগত ফ্যাশনে সেরা ফলাফল পাবেন যা কোনও বাজেট বিস্ফোরিত হয় না এবং শালীন, দরকারী এবং পেশাদারভাবে গ্রহণযোগ্য উপায়ে সম্পূর্ণ is
স্পেসিফিকেশন: আপনি যখন কোনও নতুন বৈশিষ্ট্য নির্দিষ্ট করেন - আপনি কীভাবে নিশ্চিত হন যে এটি অন্যান্য সমস্ত বাচ্চার সাথে ভাল খেলেছে?
আমি দেখতে পাচ্ছি যে একটি নতুন বৈশিষ্ট্যটির সাথে মিশ্রিত প্রতিটি বিদ্যমান বৈশিষ্ট্যটি নিয়মিতভাবে পরীক্ষা করতে পারে - তবে এটি অন্যান্য বৈশিষ্ট্যগুলি বিচ্ছিন্নতায় থাকবে। কিছু বৈশিষ্ট্যের জটিল প্রকৃতি দেওয়া, এই বিচ্ছিন্ন দৃষ্টিভঙ্গি প্রায়শই ইতিমধ্যে জড়িত থাকে যে এটির নিজের মধ্যে একটি কাঠামোগত দৃষ্টিভঙ্গির প্রয়োজন
2^(N-1)
হয়, অন্য বৈশিষ্ট্যগুলির কারণে সৃষ্ট কারণটি যাকে স্বেচ্ছায় উপেক্ষা করা হয় তা একাকী যাক ।বাস্তবায়ন: আপনি যখন কোনও বৈশিষ্ট্য বাস্তবায়ন করেন - আপনি কীভাবে নিশ্চিত করেন যে আপনার কোডটি সমস্ত ক্ষেত্রে সঠিকভাবে ইন্টারেক্ট করে / ছেদ করে।
আবার, আমি নিছক জটিলতা নিয়ে ভাবছি। দুটি ছেদযুক্ত বৈশিষ্ট্যের ত্রুটি সম্ভাবনা কমাতে বিভিন্ন কৌশল সম্পর্কে আমি জানি, তবে কোনওটিই যুক্তিসঙ্গত ফ্যাশনে মাপবে না। যদিও আমি ধরে নিই, স্পেসিফিকেশন চলাকালীন একটি ভাল কৌশল বাস্তবায়নের সময় সমস্যাটিকে উপশম করে রাখা উচিত।
যাচাইকরণ: আপনি যখন কোনও বৈশিষ্ট্য পরীক্ষা করেন - আপনি কীভাবে এই বিষয়টিটির সাথে মোকাবিলা করবেন যে আপনি কেবল এই বৈশিষ্ট্যটির ছেদ স্থানের একটি ভগ্নাংশ পরীক্ষা করতে পারেন?
এটা জেনে রাখা শক্ত যে বিচ্ছিন্নতার মধ্যে একটি একক বৈশিষ্ট্য পরীক্ষা করা ত্রুটি-মুক্ত কোডের কাছাকাছি কোনও কিছুর গ্যারান্টি দেয় না, তবে আপনি যখন
2^-N
এটির একটি ভগ্নাংশকে হ্রাস করেন তখন মনে হয় শত টেস্টগুলি মিলিত সমস্ত সমুদ্রের একফোঁটা জলও waterেকে রাখছে না seems । আরও খারাপ, সবচেয়ে সমস্যাযুক্ত ত্রুটিগুলি হ'ল বৈশিষ্ট্যগুলি ছেদ থেকে শুরু করে, যা কারও কোনও সমস্যার কারণ হতে পারে না বলে আশা করা যায় - তবে আপনি যদি এইরকম দৃ strong় ছেদ না আশা করেন তবে কীভাবে আপনি এইগুলির জন্য পরীক্ষা করবেন?
অন্যরা কীভাবে এই সমস্যাটি মোকাবেলা করে তা আমি শুনতে চাই, আমি মূলত সাহিত্য বা বিষয়টিকে আরও গভীরতার সাথে বিশ্লেষণ করার নিবন্ধগুলিতে আগ্রহী। সুতরাং আপনি যদি ব্যক্তিগতভাবে কোনও নির্দিষ্ট কৌশল অনুসরণ করেন তবে আপনার উত্তরের সাথে সম্পর্কিত উত্সগুলি অন্তর্ভুক্ত করা ভাল।