আসুন পিছনে ফিরে আসি এবং একটি আলাদা উদাহরণ ব্যবহার করি যা মানগুলির অ্যারেটির গাণিতিক গড়কে গণনা করে।
যদি ইনপুট অ্যারেটি খালি (বা নাল) থাকে তবে আপনি কি কলারের অনুরোধটি যুক্তিসঙ্গতভাবে পূরণ করতে পারবেন? না, আপনার বিকল্পগুলি কি? ভাল, আপনি করতে পারেন:
- উপস্থিত / প্রত্যাবর্তন / একটি ত্রুটি নিক্ষেপ এই শ্রেণীর ত্রুটির জন্য আপনার কোডবেসের কনভেনশনটি ব্যবহার করছেন।
- নথি যে শূন্য হিসাবে একটি মান ফিরে আসবে
- দস্তাবেজ যে একটি মনোনীত অবৈধ মান ফিরে আসবে (যেমন NaN)
- দস্তাবেজ যে একটি যাদু মান ফিরে আসবে (যেমন টাইপের জন্য একটি মিনিট বা সর্বোচ্চ বা কিছু আশাবাদী-নির্দেশক মান)
- ফলাফল অনির্ধারিত ঘোষণা
- কর্মটি অপরিজ্ঞাপিত ঘোষণা করুন
- প্রভৃতি
আমি বলছি যদি তারা আপনাকে অবৈধ ইনপুট দেয় এবং অনুরোধটি শেষ না করা যায় তবে তাদের ত্রুটি দিন। আমি প্রথম দিন থেকে একটি কঠিন ত্রুটি বলতে চাইছি যাতে তারা আপনার প্রোগ্রামের প্রয়োজনীয়তা বুঝতে পারে। সর্বোপরি, আপনার ক্রিয়াকলাপ প্রতিক্রিয়া জানাতে পারে না। যদি অপারেশন ব্যর্থ হতে পারে (যেমন কোনও ফাইলের অনুলিপি করুন), তবে আপনার এপিআই তাদের উচিত যাতে তারা মোকাবেলা করতে পারে ত্রুটি দেয়।
সুতরাং এটি আপনার লাইব্রেরিটি কীভাবে ত্রুটিযুক্ত অনুরোধগুলি এবং ব্যর্থতাগুলির অনুরোধগুলি পরিচালনা করে তা সংজ্ঞায়িত করতে পারে।
আপনার কোডটির জন্য এই শ্রেণীর ত্রুটিগুলি কীভাবে পরিচালনা করে তা সামঞ্জস্যপূর্ণ হওয়া খুব গুরুত্বপূর্ণ।
পরবর্তী বিভাগটি হল আপনার লাইব্রেরি কীভাবে বাজে অনুরোধগুলি পরিচালনা করে তা স্থির করা। পুলিশের অনুরূপ একটি উদাহরণ এ ফেরা - এর একটি ফাংশন যা নির্ধারণ করে একটি ফাইল একটি পাথ এ বিদ্যমান কিনা ব্যবহার যাক: bool FileExistsAtPath(String)
। যদি ক্লায়েন্ট একটি খালি স্ট্রিং পাস করে তবে আপনি এই দৃশ্যটি কীভাবে পরিচালনা করবেন? কিভাবে একটি খালি বা নাল অ্যারে পাস void SaveDocuments(Array<Document>)
? আপনার লাইব্রেরি / কোডবেসের জন্য সিদ্ধান্ত নিন এবং সামঞ্জস্য বজায় রাখুন। আমি এই কেসগুলির ত্রুটি বিবেচনা করতে এবং ক্লায়েন্টদের ত্রুটি হিসাবে পতাকাঙ্কিত করে বাজে অনুরোধগুলি করা থেকে বিরত রাখতে পারি (দৃ as়তার মাধ্যমে)। কিছু লোক দৃ idea়ভাবে সেই ধারণা / ক্রিয়াটির বিরুদ্ধে প্রতিরোধ করবে। আমি এই ত্রুটি সনাক্তকরণটি খুব সহায়ক বলে মনে করি। আপত্তিজনক প্রোগ্রামটির ভাল লোকেশন সহ - প্রোগ্রামগুলিতে সমস্যাগুলি সনাক্ত করার জন্য এটি খুব ভাল। প্রোগ্রামগুলি আরও পরিষ্কার এবং সঠিক (আপনার কোডবেসের বিবর্তন বিবেচনা করুন), এবং কিছু না করে এমন ক্রিয়াকলাপগুলির মধ্যে চক্র পোড়াবেন না। কোডটি এর চেয়ে ছোট / পরিষ্কারতর হয় এবং চেকগুলি সাধারণত সেই জায়গাগুলিতে ধাক্কা দেয় যেখানে সমস্যাটি প্রবর্তিত হতে পারে।