নাল কোলেসিং অপারেটর (??)
ব্যক্তিগতভাবে, আমি এই অপারেটরটি ব্যবহার করার জন্য কোনও ডাউনস্টাইড দেখতে পাচ্ছি না। 'সহজ' থেকে 'জটিল' নতুন অপারেটরগুলির জন্য নিম্নলিখিত তিনটি কোড নমুনা বিবেচনা করুন।
যাদু ছাড়াই:
bool isNameSet = false;
string name;
if ( isNameSet )
{
Console.WriteLine( name );
}
else
{
Console.WriteLine( "No name set." );
}
টার্নারি অপারেটর:
bool isNameSet = false;
string name;
Console.WriteLine( isNameSet ? name : "No name set." );
নাল কোলেসিং:
string name = null;
Console.WriteLine( name ?? "No name set." );
এই অপারেটরগুলি আবিষ্কার করার কারণটি হ'ল তারা সাধারণ প্রোগ্রামিং অপারেশনের প্রতিনিধিত্ব করে । এগুলি ব্যবহার করতে চাইছেন না কারণ আপনি তাদের ব্যবহার করেন না কেবল হঠকারী । ভাষা বিকশিত হয়, বৈশিষ্ট্যগুলি বিকশিত হয়, সেগুলি ব্যবহার করতে শিখুন!
var কীওয়ার্ড
আমার ভেরিওয়ার্ড সম্পর্কে কিছুটা আলাদা মতামত আছে। একটি ভেরিয়েবলের ধরণটি প্রায়শই আপনার কোড সম্পর্কে অতিরিক্ত তথ্য দেয়। আমি ভেরিওয়ার্ডটি ব্যবহার করে টাইপটি লুকিয়ে রাখি বলে মাঝে মধ্যে কোড কম পাঠযোগ্য হয়। স্বয়ংক্রিয় সমাপ্তি ব্যবহার না করে বা শনাক্তকারীরা আসলে কী তা দেখার জন্য কী আশা করবেন তা আপনি কম জানেন। আমার মতে, কোডে এটি ফলাফল যা পড়া / লিখতে ধীর।
আমি কীওয়ার্ডটি ব্যবহার করি যখন দেখি যে টাইপটি অতিরিক্ত অতিরিক্ত তথ্য দেয় না।
- মূলত ফোরচ লুপগুলিতে , যা আমি পুনরায় ভাগের কাছ থেকে শিখেছি এটি সেটিংস হিসাবে। বেশিরভাগ সময়, আপনি কী ধরণের সংগ্রহটি অনুসরণ করছেন তা আপনি জানেন, তাই আপনি জানেন যে আপনি সেই সংগ্রহের মধ্যে থেকে আইটেমগুলি প্রত্যাশা করছেন।
- লিনক জিজ্ঞাসা । লিনাকের প্রশ্নের ফলাফলগুলি প্রায়শই খুব জটিল জেনেরিক ধরণের হয়। এই ধরণের প্রদর্শন করা ভালের চেয়ে বেশি ক্ষতি করে।
- দীর্ঘ টাইপনেমগুলি যা কেবল তাদের নির্মাণকারীর সাথে আরম্ভ করা হয়। কনস্ট্রাক্টর দেখে টাইপটি কী তা আপনি ইতিমধ্যে বলতে পারবেন।
শেষ বিবৃতিটির উদাহরণ হিসাবে:
ThisIsSomeSpecializedTypeRightHere duplication =
new ThisIsSomeSpecializedTypeRightHere();
var justAsReadable =
new ThisIsSomeSpecializedTypeRightHere(); // Less duplication.
// But I still prefer the following ...
int number = 9;
SomeCreatedType foo = Factory.CreateSomeType();
??
নাল Coalesce অপারেটরটি ব্যাখ্যা করার পরে বুঝতে না পারে তবে তাদের উত্পাদন কোডের কাছে অনুমতি দেওয়া উচিত নয়।