আমার ডার্ট ভিত্তিক অ্যাপ্লিকেশনটিতে আমি কেবল লক্ষ্য করেছি যে আমি new
কীওয়ার্ডটি বাদ দিতে পারি এবং সবকিছু ঠিকঠাক কাজ করে।
এর পরিবর্তে final widget = new Widget();
আমিও ব্যবহার করতে পারি final widget = Widget();
।
কোডে এর কোনও প্রভাব আছে?
উত্তর:
না, তা হয় না। সঙ্গে ডার্ট 2 (আরও তথ্য ঘোষণার জন্য ক্লিক করুন)new
এবং const
কীওয়ার্ড তৈরি করা হয়েছে ঐচ্ছিক ।
এর অর্থ এটি নিজের new Widget()
মতো Widget()
করে ঠিক একই কাজ করে।
const
শব্দ, কিন্তু, একটি মান যে একটি হবে না পরিবর্তন করতে পারেন const
একটি থেকে পরোক্ষভাবে const
।
সুতরাং আপনাকে const
যখন প্রয়োজন হবে স্পষ্টভাবে নির্দিষ্ট করতে হবে ।
new
প্রয়োজনীয় কোনও স্থান নেই where আপনি যদি new
কোনও সঠিক প্রোগ্রাম থেকে বাদ দেন তবে এটি সর্বদা একইভাবে কাজ করতে থাকবে। আপনি মুছে ফেলেন const
বেশিরভাগ ক্ষেত্রেই আপনি হবে যেখানে, একটি কাজ প্রোগ্রাম থেকে তারপর আছে লিখতে const
জন্য প্রোগ্রাম বৈধ বলে, এটা এখনও কার্যকর থাকবে। যে কোনও সময় ইতিমধ্যে কোনও const
আশেপাশের অভিব্যক্তি রয়েছে, আপনি নেস্টেড কনস্টটিকে বাদ দিতে পারেন।
ডার্ট ২-এ, আপনি যদি কোনও ফাংশনের মতো কোনও কনস্ট্রাক্টরকে, সামনে new
বা const
সামনে না করে অনুরোধ করেন, তবে এটি ব্যবহারের সমতুল্য new
। আপনি যদি কনস্টের জন্য প্রার্থনা চান তবে আপনার const
সামনে রাখা উচিত ।
কনস্ট কনফারেন্সের অভ্যন্তরে আপনাকে const
আবার লেখার দরকার নেই এবং কিছু প্রসঙ্গে যেগুলি কনস্ট এক্সপ্রেশন প্রয়োজন (যেমন স্যুইচ কেস এক্সপ্রেশন এবং কনস্ট ভেরিয়েবলের ইনিশিয়েলাইজার) প্রয়োজন হয়, আপনার এমনকি বাইরের কনস্টের প্রয়োজন হয় না।
সুতরাং আপনার কখনও লেখার দরকার নেই new
।
ডার্ট ল্যাঙ্গুয়েজ টিম এমন অভিব্যক্তিটি অনুমোদন করতে চায় যেখানে আপনি যে কোনওটি সন্নিবেশ করাতে পারেন new
বা const
এখনও অনুরোধটি সঠিক হতে পারে (এটি ধ্রুবক যুক্তিযুক্ত কনস্ট্রাক্টর) const
পরিবর্তে new
ডার্ট 2-এর প্রাথমিক আপডেটে সন্নিবেশ করানোর জন্য ডিফল্টরূপে রাখতে পারেন আমি লেখার সুপারিশ new
সামনে Object()
, বা অন্য কোন const কন্সট্রাকটর যেখানে আপনি প্রয়োজন বস্তুর একটি নতুন দৃষ্টান্ত যাবে। এটি একটি খুব বিরল কেস, সাধারণত আপনি নিজের অপরিবর্তনীয় বস্তুর পরিচয় সম্পর্কে চিন্তা করেন না (এজন্য সন্নিবেশ const
করা ভাল ধারণা হিসাবে বিবেচিত হয়)।
অন্যান্য উত্তরগুলির সকলের হিসাবে, দ্বিতীয় 2-তে, ব্যবহার করা new
isচ্ছিক। তদতিরিক্ত, কার্যকর ডার্ট নির্দেশিকা দ্বারা ব্যবহার new
নিরুত্সাহিত করা হয় ।
new
শব্দ এখন ডার্ট 2. হিসাবে ঐচ্ছিক করা হয়েছে, একটি বর্গ কলিং সবসময় যে বর্গ একটি নতুন দৃষ্টান্ত ফিরে আসবে। আমার সুপারিশ অনুসারে, আপনি এটি কোনও বিন্যাস সংজ্ঞার বাইরে ব্যবহার করতে পারেন ( রক্ষণশীল নয় ) তবে বিন্যাসের অভ্যন্তরে বাদ দিতে পারেন।
আরও একটি বিষয় যা আমি আপনাদের সাথে ভাগ করে নিতে চাই তা হ'ল উইজেটগুলি ঘোষণার সময় আপনি যদি কীওয়ার্ড ব্যবহার করেন new
বা উইজেট বডি কোডটি ভেঙে বাড়াতে এবং ব্যবহার করতে পারেন এমন + আইকনও দেখতে সক্ষম হন । আপনি যখন একই ফাইলটিতে অন্য উইজেট কোডটিতে কাজ করার সময় ডার্ট ফাইলে বাকী উইজেট কোডটি ভেঙে / লুকিয়ে রাখতে চান তখন এটি কার্যকর হয় usefulconst
new
নিরুৎসাহিত করা হচ্ছে: এটি ব্যবহার করে দেখে মনে হচ্ছে এটি নিঃশর্তভাবে একটি নতুন উদাহরণ তৈরি করে যখন এটি নাও পারে।
new
বাconst
প্রয়োজন (আমি উদাহরণ বা বিধিগুলি মনে করি না)। এটিকে সর্বত্র alচ্ছিক করার জন্য তারা ডার্ট 2 এর পরে আর একটি প্রচেষ্টা করতে পারে।