আমি জিসি বাস্তবায়নকারীদের ডিজাইনের মাধ্যমে বিশ্বাস করি, আপনি শূন্যতার সাথে জিসিকে গতি দিতে পারবেন না । আমি নিশ্চিত যে তারা কখন / কখন জিসি চালায় সে সম্পর্কে নিজেকে চিন্তিত করতে পছন্দ করবেন না - এটিকে সর্বব্যাপী সত্তার মতো আচরণ করুন রক্ষা এবং পাহারা এবং আপনার জন্য আউট ... (তীর মাথা নিচু, মুষ্টি আকাশের দিকে উত্থাপন) .. ।
ব্যক্তিগতভাবে, আমি প্রায়শই স্পষ্টরূপে ভেরিয়েবলগুলি নালায় সেট করি যখন আমি স্বতন্ত্র ডকুমেন্টেশনের একটি ফর্ম হিসাবে তাদের সাথে হয়ে যাই। আমি ঘোষনা করি না, ব্যবহার করব, তারপরে পরে নালার জন্য সেট করুন - তাদের আর প্রয়োজন নেই পরে অবধি আমি নালু হয়ে যাই। আমি স্পষ্ট করে বলছি, "আমি আপনার সাথে আনুষ্ঠানিকভাবে শেষ করেছি ... চলে যাও ..."
জিসি'ড ভাষায় বর্জন করা কি প্রয়োজনীয়? না, এটি জিসির পক্ষে সহায়ক? সম্ভবত হ্যাঁ, হতে পারে না, নির্দিষ্ট করে জানেন না, ডিজাইনের মাধ্যমে আমি এটি সত্যিই নিয়ন্ত্রণ করতে পারি না, এবং এই সংস্করণ বা এটির সাথে আজকের উত্তর নির্বিশেষে ভবিষ্যতের জিসি বাস্তবায়নগুলি আমার নিয়ন্ত্রণের বাইরে উত্তরটি পরিবর্তন করতে পারে। প্লাস যদি / যখন নালিংটি অপ্টিমাইজ করা হয় তবে এটি যদি আপনি করেন তবে কোনও অভিনব মন্তব্য করার চেয়ে একটু বেশি ।
আমি যদি বুঝতে পারি যে এটি পরবর্তী দরিদ্র বোকা যারা আমার পদক্ষেপে অনুসরণ করে আমার উদ্দেশ্য পরিষ্কার করে তোলে এবং যদি এটি কখনও কখনও জিসিকে " সম্ভাব্য " সাহায্য করে তবে এটি আমার পক্ষে মূল্যবান। বেশিরভাগ ক্ষেত্রে এটি আমাকে পরিপাটি এবং পরিষ্কার বোধ করে এবং মঙ্গো পরিপাটি এবং পরিষ্কার বোধ করতে পছন্দ করে। :)
আমি এটি এর মতো করে দেখছি: প্রোগ্রামিং ভাষাগুলি লোকেদের অন্য উদ্দেশ্য সম্পর্কে ধারণা দেওয়ার জন্য এবং একটি সংকলককে কী করণীয়ের একটি কাজের অনুরোধ জানাতে দেয় - সংকলক সেই অনুরোধটিকে একটি সিপিইউর জন্য আলাদা ভাষায় (কখনও কখনও বেশ কয়েকটি) রূপান্তর করে - সিপিইউ (গুলি) আপনি কী ভাষা ব্যবহার করেছেন, আপনার ট্যাব সেটিংস, মন্তব্যগুলি, শৈলীগত জোর দেওয়া, ভেরিয়েবলের নাম ইত্যাদির একটি হুট দিতে পারে - একটি সিপিইউ বিট স্ট্রিম সম্পর্কে যা এটি রেজিস্ট্রি এবং অপকড এবং মেমরির অবস্থানগুলিকে টলমল করার জন্য বলে। কোডে লিখিত অনেকগুলি বিষয় সিপিইউ দ্বারা গ্রাহিত সেগুলি অনুসারে রূপান্তর করে না যা আমরা উল্লেখ করেছি। আমাদের সি, সি ++, সি #, লিস্প, বাবেল, এসেম্বলার বা বাস্তবতার চেয়ে তত্ত্ব যা কিছু রয়েছে, কাজের বিবৃতি হিসাবে রচিত। আপনি যা দেখেন তা হ'ল এমন কি একত্রিত ভাষায়ও।
আমি বুঝতে পারি "অপ্রয়োজনীয় জিনিস" (ফাঁকা রেখার মতো) "মানসিকতা শোরগোল এবং বিশৃঙ্খলা কোড ছাড়া কিছুই নয়।" আমার কর্মজীবনের প্রথমদিকে এটিই ছিল; আমি পুরোপুরি এটি পেতে। এই মুহুর্তে আমি তার দিকে ঝুঁকছি যা কোডকে আরও পরিষ্কার করে। এটি আমার প্রোগ্রামগুলিতে "শব্দ" এর 50 টি লাইন যুক্ত করার মতো নয় - এটি এখানে বা সেখানে কয়েকটি লাইন।
কোনও নিয়মের ব্যতিক্রম আছে। অস্থির মেমরি, স্ট্যাটিক মেমোরি, রেসের শর্ত, সিঙ্গেলন, "বাসি" ডেটা এবং সমস্ত ধরণের পচন ব্যবহারের পরিস্থিতিতে এটি আলাদা: আপনার নিজের স্মৃতি পরিচালনা করার দরকার, লকিং এবং অ্যাপ্রোপস হিসাবে বাতিল হওয়া কারণ স্মৃতিটির অংশ নয় GC'd ইউনিভার্স - আশা করি প্রত্যেকে এটি বুঝতে পেরেছিল। GC'd ভাষাগুলির সাথে বাকি সময়টি প্রয়োজনের পরিবর্তে বা গ্যারান্টিযুক্ত পারফরম্যান্স বৃদ্ধির চেয়ে স্টাইলের বিষয়।
দিন শেষে নিশ্চিত হয়ে নিন যে আপনি কী বুঝতে পেরেছেন জিসির জন্য উপযুক্ত এবং কী নয়; লক করুন, নিষ্পত্তি করুন এবং যথাযথভাবে বাতিল করুন; মোম চালু, মোম বন্ধ; শ্বাস ফেলা, শ্বাস ফেলা; এবং অন্য সব কিছুর জন্য আমি বলি: যদি ভাল লাগে তবে তা করুন। আপনার মাইলেজটি পৃথক হতে পারে ... যেমনটি হওয়া উচিত ...