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