আমি এই বিষয়ে আরও অভিজ্ঞ বিকাশকারী সাথে কিছুটা দ্বিমত পোষণ করছি এবং অন্যরা এ সম্পর্কে কী ভাববে তা অবাক করে দিচ্ছি; আমাদের পরিবেশটি জাভা, ইজেবি 3, পরিষেবাদি ইত্যাদি is
আমি যে কোডটি লিখেছি সেগুলিতে জিনিসগুলি পেতে এবং জিনিস তৈরি করার জন্য একটি পরিষেবা কল করা হয়। আমি যে সমস্যাটি চালিয়েছি তা হ'ল আমি নাল পয়েন্টার ব্যতিক্রমগুলি পেয়েছি যা অর্থপূর্ণ নয়। উদাহরণস্বরূপ, আমি যখন পরিষেবাটি কোনও অবজেক্ট তৈরি করতে বলি, তখন আমি ফিরে আসি; যখন আমি একটি পরিচিত বৈধ আইডি দিয়ে কোনও বিষয় সন্ধান করার চেষ্টা করি তখন আমি ফিরে আসি। আমি আমার কোডটিতে কী ভুল ছিল তা বোঝার চেষ্টা করে কিছু সময় ব্যয় করেছি; যেহেতু আমি কম অভিজ্ঞ আমি সাধারণত ধরে নিয়েছি যে আমি কিছু ভুল করেছি, তবে এটি নাল ফেরতের কারণটি ছিল সুরক্ষা। আমার পরিষেবাটি ব্যবহারকারী ব্যবহারকারীর অধ্যক্ষের যদি লক্ষ্য পরিষেবার জন্য সঠিক অনুমতি না থাকে তবে এটি কেবল বাতিল হয়ে যায়। এখানে বেশিরভাগ অন্যান্য পরিষেবাদিগুলি খুব ভালভাবে নথিভুক্ত করা হয় না, সুতরাং স্পষ্টতই এটি আপনার জানা দরকার something
এটি বরং ডেভেলপার রাইটিং কোড হিসাবে বিভ্রান্তিকর যা পরিষেবার সাথে ইন্টারঅ্যাক্ট করে। এটি পরিষেবাটি যদি আমার কাছে আরও একটি ব্যতিক্রম হয় যেটি ব্যতিক্রম আমাকে জানায় যে ব্যবহারকারীর কাছে এই জিনিসটি লোড করার বা সেই জিনিসটি তৈরি করার উপযুক্ত অনুমতি নেই; আমি তখনই জানতে পারি কেন আমার পরিষেবা প্রত্যাশার মতো কাজ করছে না।
পরিষেবাটি লেখার জন্য আরও অভিজ্ঞ বিকাশকারী যুক্তি দিয়েছিলেন যে ডেটা জিজ্ঞাসা করা ত্রুটিযুক্ত শর্ত নয় এবং ব্যতিক্রমগুলি কেবল একটি ত্রুটি অবস্থায় ফেলে দেওয়া উচিত, যখন ব্যবহারকারীর ডেটা অ্যাক্সেস না করে। এই ডেটা প্রায়শই একটি জিইউআইতে দেখা হয় এবং সঠিক অনুমতি ব্যতীত যারা ব্যবহারকারীর জন্য এই জিনিসগুলি কেবল "বিদ্যমান নেই"। সুতরাং, সংক্ষেপে: জিজ্ঞাসা করা ভুল নয়, তাই কোনও ব্যতিক্রম নয়। পদ্ধতিগুলি বাতিল হয়ে যাবে কারণ সেই ব্যবহারকারীদের কাছে সেই জিনিসগুলি "বিদ্যমান নেই"। ব্যবহারকারীর যখন জিনিসটি তৈরি করার অনুমতি দেওয়া হয়নি তখন পদ্ধতিগুলি বাতিল হয়ে যায়।
এটি কি স্বাভাবিক এবং / বা ভাল অনুশীলন? আমি ব্যাতিক্রমগুলি ব্যবহার করতে পছন্দ করি কারণ আমি কী চলছে তা জানতে খুব সহজ। সুতরাং আমি উদাহরণস্বরূপ, যদি আপনি নাল ফেরার পরিবর্তে কোনও অবৈধ আইডি সহ কোনও বস্তুর জন্য জিজ্ঞাসা করেন তবে একটি নটফাউন্ডএক্সেপশন নিক্ষেপ করতে পছন্দ করব।