আমার ডার্ট ভিত্তিক অ্যাপ্লিকেশনটিতে আমি কেবল লক্ষ্য করেছি যে আমি 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-তে, ব্যবহার করা newisচ্ছিক। তদতিরিক্ত, কার্যকর ডার্ট নির্দেশিকা দ্বারা ব্যবহার new নিরুত্সাহিত করা হয় ।
newশব্দ এখন ডার্ট 2. হিসাবে ঐচ্ছিক করা হয়েছে, একটি বর্গ কলিং সবসময় যে বর্গ একটি নতুন দৃষ্টান্ত ফিরে আসবে। আমার সুপারিশ অনুসারে, আপনি এটি কোনও বিন্যাস সংজ্ঞার বাইরে ব্যবহার করতে পারেন ( রক্ষণশীল নয় ) তবে বিন্যাসের অভ্যন্তরে বাদ দিতে পারেন।
আরও একটি বিষয় যা আমি আপনাদের সাথে ভাগ করে নিতে চাই তা হ'ল উইজেটগুলি ঘোষণার সময় আপনি যদি কীওয়ার্ড ব্যবহার করেন newবা উইজেট বডি কোডটি ভেঙে বাড়াতে এবং ব্যবহার করতে পারেন এমন + আইকনও দেখতে সক্ষম হন । আপনি যখন একই ফাইলটিতে অন্য উইজেট কোডটিতে কাজ করার সময় ডার্ট ফাইলে বাকী উইজেট কোডটি ভেঙে / লুকিয়ে রাখতে চান তখন এটি কার্যকর হয় usefulconst
newনিরুৎসাহিত করা হচ্ছে: এটি ব্যবহার করে দেখে মনে হচ্ছে এটি নিঃশর্তভাবে একটি নতুন উদাহরণ তৈরি করে যখন এটি নাও পারে।
newবাconstপ্রয়োজন (আমি উদাহরণ বা বিধিগুলি মনে করি না)। এটিকে সর্বত্র alচ্ছিক করার জন্য তারা ডার্ট 2 এর পরে আর একটি প্রচেষ্টা করতে পারে।