গেটটি ১৯৮ বার সক্রিয় হয়েছিল। আমি একে "কাজ করছে" বলেছিলাম।

আমি খারাপ কোড ব্লক করার জন্য একটি গেট তৈরি করেছিলাম। এটি ১৯৮টি কোড ব্লক করেছিল। আমি ভেবেছিলাম এর মানে হলো গেটটি ভালো কাজ করছে। আমি ব্লক হওয়ার উচ্চ সংখ্যা দেখে সফল বোধ করছিলাম।

তারপর আমি প্রকৃত ঘটনাগুলো দেখলাম। আমি বুঝতে পারলাম যে সেই ব্লকগুলোর অনেকগুলোই ছিল ভুল। গেটটি ভালো কোডকেও প্রত্যাখ্যান করছিল। এটি এমন কাজকেও প্রত্যাখ্যান করছিল যা সমস্ত প্রয়োজনীয়তা পূরণ করেছিল, শুধুমাত্র কারণ এর গঠনটি দেখতে অস্বাভাবিক ছিল।

আমি একটি সাধারণ ভুল করেছিলাম। আমি সক্রিয়তাকে (activity) সঠিকতার (correctness) সাথে গুলিয়ে ফেলেছিলাম।

একটি গেট একই সাথে খুব সক্রিয় এবং খুব ভুল হতে পারে। ব্লক হওয়ার উচ্চ সংখ্যা কোনো মূল্য প্রমাণ করে না। এটি কেবল প্রমাণ করে যে গেটটি সক্রিয় হচ্ছে।

একটি গেট আসলে তার কাজ করছে কি না তা বোঝার উপায় আমি এভাবে শিখেছি:

  • ব্লক হওয়ার কারণগুলো দেখুন। সেগুলো কি প্রকৃত ত্রুটি ধরতে পারছে? নাকি সেগুলো কেবল একই ধরণের বাহ্যিক প্যাটার্নের ওপর আটকে যাচ্ছে?
  • রিট্রাই (retry) বা পুনরায় চেষ্টা করার বিষয়টি লক্ষ্য করুন। একটি রিট্রাই কি প্রকৃত সমস্যাটি সমাধান করে? নাকি কোডটি কেবল গেটটিকে সন্তুষ্ট করার জন্য তার রূপ পরিবর্তন করে? যদি কোডটি উন্নত না হয়ে কেবল রূপ পরিবর্তন করে, তবে গেটটিই একটি সমস্যা।
  • চূড়ান্ত ফলাফল বা কনভারজেন্স (convergence) পরীক্ষা করুন। কাজটি কি শেষ পর্যন্ত তার নিজস্ব যোগ্যতায় পাস করে? যদি কাজটিকে পাস করানোর জন্য আপনাকে গেটটিকে শিথিল করতে হয়, তবে গেটটি ভুল ছিল।

একটি গেট যা ভালো কাজ করে তা সিস্টেমকে আরও উন্নত করে। একটি খারাপ গেট সিস্টেমকে কেবল গেটের সাথে মানিয়ে নিতে বাধ্য করে। এর ফলে আপনি এমন কোড পান যা আসলে ভালো হওয়ার পরিবর্তে ভ্যালিডেটরকে সন্তুষ্ট করার জন্য তৈরি করা হয়েছে।

মোট সংখ্যা দেখা বন্ধ করুন। মোট সংখ্যা আপনাকে কেবল সক্রিয়তা দেখায়। স্যাম্পল বা নমুনা আপনাকে সত্য দেখায়।

আপনার গেট, লিন্টার (linter) বা ফিল্টারগুলো যা ব্লক করছে তার একটি নমুনা অডিট করুন। আপনি যদি আপনার গার্ডগুলোকে কেবল খারাপ ইনপুট দিয়ে পরীক্ষা করেন, তবে আপনি কেবল তোষামোদমূলক প্রশ্নই করছেন। আপনাকে অবশ্যই পরীক্ষা করতে হবে যে সেগুলো ভালো এবং অস্বাভাবিক ইনপুটকেও যেতে দিচ্ছে কি না।

আপনি কি আপনার ব্লক কাউন্টগুলো অডিট করেন? একটি প্রত্যাখ্যান সঠিক ছিল কি না তা আপনি কীভাবে সিদ্ধান্ত নেন?

Source: https://dev.to/josephyeo/the-gate-fired-198-times-i-called-it-working-45fk

ঐচ্ছিক লার্নিং কমিউনিটি: https://t.me/GyaanSetuAi