কম্পিউটার

কেন আমরা C/C++ এ গ্লোবাল ভেরিয়েবল ব্যবহার করা এড়িয়ে চলব?


আমাদের শুধুমাত্র C++ নয়, যেকোনো ভাষায় গ্লোবাল ভেরিয়েবল ব্যবহার করা এড়ানো উচিত। এর কারণ হল এই ভেরিয়েবলগুলি বিশ্বব্যাপী নামস্থানকে দূষিত করে, বড় প্রকল্পগুলিতে কিছু খুব খারাপ বাগ তৈরি করতে পারে কারণ সেগুলি যে কোনও ফাইল থেকে অ্যাক্সেস করা যেতে পারে এবং তাই যে কোনও জায়গা থেকে পরিবর্তন করা যেতে পারে। এইগুলি হল কিছু কারণ কেন গ্লোবাল ভেরিয়েবলগুলিকে খারাপ হিসাবে বিবেচনা করা হয় -

  • গ্লোবাল ভেরিয়েবলগুলিকে কোডের যেকোনো অংশ দ্বারা পরিবর্তন করা যেতে পারে, যার ফলে প্রতিটি সম্ভাব্য ব্যবহার সম্পর্কে মনে রাখা বা যুক্তি দেখাতে অসুবিধা হয়৷

  • একটি গ্লোবাল ভেরিয়েবলের কোনো অ্যাক্সেস নিয়ন্ত্রণ থাকতে পারে না। এটি প্রোগ্রামের কিছু অংশে সীমাবদ্ধ করা যাবে না।

  • গ্লোবাল ভেরিয়েবল ব্যবহার করার ফলে কোডের খুব টাইট কাপলিং হয়।

  • গ্লোবাল ভেরিয়েবল ব্যবহার করে নামস্থান দূষণ হয়। এটি অপ্রয়োজনীয়ভাবে একটি বৈশ্বিক মান পুনরায় বরাদ্দ করতে পারে৷

  • গ্লোবাল ভেরিয়েবলগুলি ব্যবহার করে প্রোগ্রামগুলিতে পরীক্ষা করা একটি বিশাল যন্ত্রণার কারণ হতে পারে কারণ পরীক্ষার সময় সেগুলিকে আলাদা করা কঠিন৷

মনে রাখবেন যে কখনও কখনও আপনাকে শুধুমাত্র একটি গ্লোবাল ভেরিয়েবল ব্যবহার করতে হবে৷ কিন্তু তা করার আগে নিশ্চিত হয়ে নিন আপনার কোন বিকল্প আছে কিনা। c2 উইকিতে গ্লোবাল ভেরিয়েবল সম্পর্কে আরও পড়ুন - https://wiki.c2.com/?GlobalVariablesAreBad


  1. ক্লায়েন্ট সার্ভার মডেল ব্যবহার করে C/C++ এ একটি স্ট্রিং বিপরীত করুন

  2. উইন্ডোতে c++ এর জন্য শীর্ষ IDE কি?

  3. কেন আমরা C/C++ এ মডিফায়ার ব্যবহার করি?

  4. কেন আমাদের C# এ গ্লোবাল ভেরিয়েবল নেই?