আমাদের কাছে এই কোডটি রয়েছে যা সরলীকরণের পরে দেখায়:
public class Room
{
public Client Client { get; set; }
public long ClientId
{
get
{
return Client == null ? 0 : Client.Id;
}
}
}
public class Client
{
public long Id { get; set; }
}
এখন আমাদের তিনটি দৃষ্টিভঙ্গি রয়েছে।
1) এটি ভাল কোড কারণ Clientসম্পত্তি সর্বদা সেট করা উচিত (অর্থাত নাল নয়) সুতরাং Client == nullকখনই ঘটবে না এবং আইডি মানটি 0যাইহোক একটি মিথ্যা আইডিকে চিহ্নিত করে (এটি কোডের লেখকের মতামত ;-))
২) আপনি কলারের উপর নির্ভর করতে পারবেন না যে এটির জন্য 0একটি ভ্রান্ত মূল্য Idএবং Clientসম্পত্তি যখন সর্বদা সেট করা উচিত তখন যখন সম্পত্তিটি নালার দিকে exceptionযায় getতখন আপনাকে একটি নিক্ষেপ করা উচিতClient
3) Clientসম্পত্তিটি সর্বদা সেট করা উচিত যখন আপনি কেবল ফিরে Client.Idআসুন NullRefএবং Clientসম্পত্তিটি শূন্য হয়ে যাওয়ার পরে কোডটি একটি ব্যতিক্রম ছুঁড়তে দিন ।
এর মধ্যে কোনটি সবচেয়ে সঠিক? নাকি চতুর্থ সম্ভাবনা আছে?