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