সিদ্ধান্ত নেওয়া ইঞ্জিনিয়ারিংয়ের একটি অন্তর্নিহিত অংশ। যা একটি ডাটাবেস, একটি বার্তা রেখা বা একটি CSV লাইব্রেরি নির্বাচন করতে পারে যা গ্রাহক ডেটা বিরুদ্ধে উত্পাদন চালানো হবে। যখন কয়েকটি বিকল্প বাস্তবায়নযোগ্য কিন্তু কমফোর্স আলাদা, আপনি ক্ষেত্রটি সীমাবদ্ধ করার একটি বাস্তব উপায় প্রয়োজন. লক্ষ্য দ্রুত, যৌক্তিকভাবে এবং কার্যকরভাবে সিদ্ধান্ত নেওয়া। একটি উপকারী কৌশল এই পদ্ধতি আপনাকে সিদ্ধান্ত পরিষ্কার না হওয়া পর্যন্ত সিস্টেমিকভাবে বিকল্পগুলি সীমাবদ্ধ করতে সাহায্য করে. লক্ষ্যটি দেখানো হয় যে আপনি কিভাবে দ্রুত একটি সমস্যার "ফর্ম" পেতে পারেন, সমাধানের স্থানের কঠোর বিবরণগুলি, প্রতিটি বিকল্পের সম্পূর্ণ বিশ্লেষণ ছাড়াই। Elimination by Aspects (EBA) দৃষ্টিভঙ্গি দ্বারা অপসারণ কি? দৃষ্টিভঙ্গি দ্বারা অপসারণ একটি সিদ্ধান্ত নেওয়ার হেউরিস্টিক যা 1972 সালে মনোবিজ্ঞানী আমোস টার্ভস্কি দ্বারা চালু করা হয়েছিল। মূল ধারণাটি হল ধীরে ধীরে বিকল্পগুলির একটি তালিকা প্রয়োগ করে (দৃষ্টিভঙ্গি) একবার প্রয়োগ করে। Key characteristics of EBA: এটি একটি iterative, non-compensatory প্রক্রিয়া. এর মানে হল যে একটি বিকল্প যা একটি গুরুত্বপূর্ণ মানদণ্ড ব্যর্থ হয়, এটি অন্য কারণগুলিতে কতই না ভাল। আপনি কার্যকরভাবে প্রতিটি দিকগুলিতে হ্যাঁ / না সিদ্ধান্তের একটি সিরিজ তৈরি করছেন, একই সময়ে সবকিছু তুলনা করার পরিবর্তে। উদাহরণ: EBA এর সাথে একটি রাস্তার মেরু কেনা প্রক্রিয়াটি ইতিবাচক করার জন্য, প্রথমে একটি অ-সাধারণ সফ্টওয়্যার উদাহরণ ব্যবহার করি: একটি রাস্তার কাটা কিনুন। Mower টাইপ: এটি একটি ride-on, রোবট, বা push ছুরি? জায়গা আকার: আপনি কাটা প্রয়োজন এলাকা কত বড়? ভূমি: আপনি তীব্র পাহাড়ে (15 ডিগ্রি বা তার বেশি) কাটা প্রয়োজন? শক্তি এবং রক্ষণাবেক্ষণ: আপনি গ্যাস ইঞ্জিন শক্তি বা বৈদ্যুতিক (ব্যাটারি / তারের) পছন্দ করেন? বাজেট সীমা: আপনার বাজেট সীমা কি? এই দিকগুলি ধারাবাহিকভাবে প্রয়োগ করে, আপনি হাজার থেকে কয়েকটি থেকে বিকল্পগুলি কেটে নিতে পারেন. মূলত, আপনি সর্বাধিক সঠিক প্রশ্নগুলি প্রথমে জিজ্ঞাসা করেন (যারা ক্ষেত্রটি সবচেয়ে বেশি বিভক্ত করে)। আমি খুঁজে পেয়েছি যে চ্যাটজিপিটি চিন্তাভাবনা / প্রো, বা জিমনি 2.5 প্রো (ভিডিও অনুসন্ধানের সাথে উভয়টি সক্রিয়) বেশ ভাল ইবিএ-স্টাইল প্রশ্নগুলি উত্পাদন করে, আমি ব্যবহার করেছি "আমার রাস্তার খোঁজ কমাতে শীর্ষ 5 প্রশ্নগুলি কি? উদাহরণ: EBA এর সাথে একটি CSV Parser লাইব্রেরি নির্বাচন করুন এখন একটি সফটওয়্যার ইঞ্জিনিয়ারিং সিদ্ধান্তে EBA প্রয়োগ করুন. ধারণা করুন আপনি একটি প্রকল্পের জন্য একটি CSV বিশ্লেষণ লাইব্রেরি নির্বাচন করতে হবে. এখানে একটি অপসারণ-অভিজ্ঞতা কৌশল দেখতে পারে কিভাবে: Do a broad search filtered by your programming language to list all CSV parser libraries that could be relevant. This is your initial pool. Start with the Universe of Options: Immediately discard any libraries that look obviously unsuitable for production use. Suitability for Production: Apply a few must-have sanity criteria to the remaining list: Basic Viability Check: The library should at least compile/build or install cleanly. Compilation/Installation: While not a perfect metric, check if the library has at least a minimal level of adoption, for instance, a few hundred stars on GitHub or a decent number of weekly downloads on NPM/PyPI. Popularity/Community Usage: If there’s no README or documentation, that’s a huge red flag. Documentation: If it’s been out for a while, then there is more time for people to report the package being malicious, etc. When was the package published, was it yesterday? With a shorter list in hand, introduce more specific criteria based on your project’s needs: Feature and Performance Requirements: Do you need to parse very large CSV files or do streaming? Performance: Identify required features (e.g., does it handle quoted fields correctly? Can it parse into custom data types or handle different delimiters? Does it also support writing CSV, if you need that?). Features: Consider how the library handles malformed data or edge cases (like newline characters within fields, missing values, etc.). Robustness: Does the library drag in huge external dependencies or native modules? Dependencies: Is the library actively maintained? Maintenance: By this point, you’ve likely narrowed it down to a handful (or even a single) candidate that meets all your aspects. Final Selection: আমি একটি Gemini 2.5 প্রো চ্যাটে সব 200 readmes যোগ করে "csv" সঙ্গে ট্যাগ করা 200 npmjs লাইব্রেরিগুলিতে দৃষ্টিভঙ্গি দ্বারা অপসারণ প্রয়োগ করেছি, এখানে কিভাবে আমি তাদের নীচে সংকুচিত আমি একটি Gemini 2.5 প্রো চ্যাটে সব 200 readmes যোগ করে "csv" সঙ্গে ট্যাগ করা 200 npmjs লাইব্রেরিগুলিতে দৃষ্টিভঙ্গি দ্বারা অপসারণ প্রয়োগ করেছি, এখানে কিভাবে আমি তাদের নীচে সংকুচিত "সার্ভার পাশের, ব্রাউজার ভিত্তিক ব্যবহারকারীর ডাউনলোডগুলির জন্য আরও উন্নতি" নির্বাচনগুলি 30 পর্যন্ত হ্রাস করে। আপনি যদি 200 readmes ডাউনলোড করতে ইচ্ছুক না হন (আমি আপনাকে দোষারোপ করি না), জিমনি জন্য আমি ব্যবহার করেছি "আমার প্রশ্নগুলির উপর ভিত্তি করে আমার উত্তরগুলির উপর ভিত্তি করে কোন লাইব্রেরি ব্যবহার করা উচিত তা বলার জন্য দৃষ্টিভঙ্গি দ্বারা সমাধান ব্যবহার করুন" এবং তারপর এটি আমাকে সাক্ষাৎকার করে এবং আমার উত্তরগুলির উপর ভিত্তি করে আমার জন্য একটি লাইব্রেরি নির্বাচন করে। প্রযুক্তিগত সিদ্ধান্তগুলিতে EBA ব্যবহারের সুবিধা সফ্টওয়্যার ইঞ্জিনিয়ারিং সিদ্ধান্তগুলিতে অপসারণ-অভিজ্ঞতা ব্যবহার করা কয়েকটি সুবিধা প্রদান করে: Overwhelm হ্রাস করে: এক সময়ে একটি মানদণ্ডের উপর ফোকাস করে, আপনি প্রতিটি বিকল্পের প্রতিটি কারণকে একই সময়ে ওজন করার মানসিক বর্জ্য এড়াতে পারেন। নিশ্চিত করুন যে প্রয়োজনীয়তাগুলি পূরণ করা হয়েছে: EBA আপনাকে আগে থেকে আপনার অ-নির্দেশযোগ্য প্রয়োজনীয়তাগুলি চিহ্নিত এবং অগ্রাধিকার দেয়। স্বচ্ছ এবং সুরক্ষিত প্রক্রিয়া: EBA এর ধাপে ধাপে প্রক্রিয়া আপনার সিদ্ধান্ত প্রক্রিয়াটি স্বচ্ছ করে তোলে। নির্দিষ্ট বিকল্পের সাথে প্রেমে পড়ার আগে কৌশলগুলির উপর সিদ্ধান্ত নেওয়া, পরিচিত বা "চমৎকার নতুন" প্রযুক্তির দিকে হাঁটু-কাঁধের পথভ্রষ্টতা হ্রাস করতে পারে। সাবধানতা এবং সীমাবদ্ধতা যত্ন কোনও সিদ্ধান্ত প্রযুক্তি নিখুঁত নয়. ব্যবহার করার সময় এই সতর্কবাণীগুলি মনে রাখুন: Non-Compensatory = No Trade-Offs: কারণ EBA non-compensatory, অন্যথায় একটি দুর্দান্ত বিকল্প যদি এটি একটি নির্বাচিত মানদণ্ডে ব্যর্থ হয় তাহলে বাদ দেওয়া হবে. টিপ: আপনার অপসারণ দিকগুলি সাবধানে নির্বাচন করুন এবং নিশ্চিত করুন যে প্রতিটি সত্যিই একটি deal-breaker হয়। অর্ডার বিষয়: আপনি যে সীমাবদ্ধতাগুলি প্রয়োগ করেন তা ফলাফলকে প্রভাবিত করতে পারে. এটি সাধারণত সর্বোচ্চ অগ্রাধিকারের দিক দিয়ে শুরু করা বুদ্ধিমান, মূলত, "যদি এটি এক্স না থাকে তবে অন্য কিছুই গুরুত্বপূর্ণ" শুধুমাত্র সত্যিই মৌলিক এক্সের জন্য। স্পষ্ট, পরিমাপযোগ্য মানের প্রয়োজন: EBA ভালভাবে কাজ করে যখন আপনার দিকগুলি সঠিকভাবে সংজ্ঞায়িত হয়. উদাহরণস্বরূপ, স্কেলযোগ্যতাকে "10k অনুরোধ / সেকেন্ডের চেয়ে বেশি হওয়া উচিত" বা নিরাপত্তা হিসাবে সংজ্ঞায়িত করুন "প্রাপ্তবয়স্ক বছরে কোন গুরুত্বপূর্ণ পূন রিপোর্ট থাকতে হবে না", যা আপনার পরিস্থিতিতে উপযুক্ত। একক বিজয়ী হতে পারে না: কখনও কখনও আপনি আপনার দিকগুলির তালিকায় যাবেন এবং এখনও একটি তালিকায় বা কয়েকটি বাস্তবায়নযোগ্য প্রার্থীদের সাথে শেষ করতে পারেন. যদি একাধিক বিকল্পগুলি আপনার সমস্ত ফিল্টারগুলি বেঁচে থাকে, তাহলে আপনি সেকেন্ডারি বৈশিষ্ট্যগুলিতে তাদের তুলনা করতে বা এমনকি প্রতিটি সঙ্গে একটি ধারণা প্রমাণ করতে পারেন। উঁচু করে বৈশিষ্ট্য দ্বারা অপসারণ সফটওয়্যার প্রকৌশলীদের জন্য সিদ্ধান্ত নেওয়ার টুলবক্সে একটি সুবিধাজনক সরঞ্জাম। যখনই আপনি প্রযুক্তি বা নকশা পছন্দগুলির একটি বিস্ময়কর তালিকা সম্মুখীন হন, তখনই বৈশিষ্ট্যগুলিতে চিন্তা করুন: আপনার প্রয়োজনীয়তাগুলি খুঁজে বের করুন এবং বিকল্পগুলি কেটে শুরু করুন যা সেই বাক্সগুলি চেক করে না। দ্রুত গতিশীল প্রযুক্তি জগতে, যেখানে নতুন লাইব্রেরি এবং ফ্রেমওয়ার্কগুলি প্রতি সপ্তাহে প্রদর্শিত হয়, এই পদ্ধতিটি আপনাকে এবং আপনার টিমকে বিশ্লেষণ অক্ষমতা এড়াতে এবং আত্মবিশ্বাসের সাথে সিদ্ধান্ত নিতে সহায়তা করতে পারে। অবশেষে, দিকগুলির দ্বারা অপসারণ একটি নিখুঁত পছন্দ নিশ্চিত করবে না (কোন পদ্ধতিই করতে পারে না), কিন্তু এটি আপনাকে আপনার চাহিদাগুলি পূরণ করার জন্য একটি ভাল পছন্দ পৌঁছানোর জন্য একটি যৌক্তিক, পুনরাবৃত্তিযোগ্য প্রক্রিয়া দেবে।