چرا باید از متغیر global کمتر استفاده بشه ؟ - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

چرا باید از متغیر global کمتر استفاده بشه ؟

0 امتیاز
سلام بر همگی

من چند جا خوندم که بهتره از متغیر global کمتر استفاده کنم. دلیلشو نفهمیدم چرا باید از متغیر global کمتر استفاده بشه ؟ یعنی اصلا از global نباید استفاده کنم ؟
سوال شده اسفند 3, 1392  بوسیله ی PSPCoder (امتیاز 1,301)   14 40 57

1 پاسخ

+3 امتیاز
 
بهترین پاسخ
سلام.

یه دلیلش میتونه بخاطر تداخل نامها باشه .

مثلا اگر شما توی برنامه خودتون یک متغییر سراری به نام x داشته باشید . اگر به یک کتابخونه دیگه برنامه رو  Link کنید که اون هم همچین متغییر سراسری رو داشته باشه اونوقت برنامه به Link نخواهد شد. و شما باید نام متغییر خودتون رو عوض کنید و همین باعث میشه که توی همه جاهایی که از اون استفاده کردید اونجا رو هم نسبت به نام جدیدی که به متغییر دادید عوض کنید .

 

یه دلیل دیگه هم اینه که اگر از برنامه شما چند-نخی باشه . باید خیلی مراقب باشید که چطوری از متغییرهای سراسری توی نخ ها بکارگیری کنید .

یکی دیگه اینه که اگر یک متغییر سراسری داشته باشی به نام  x  و اگر یه متغییر محلی هم داشته باشی به نام x . اونوقت وقتی که شما بخوایید روی متغییر x بنویسید یا بخونید . در متغییر x محلی باعث میشه که متغییر x سراسری نادیده گرفته شه . و شما باید از x:: برای اشاره به متغییر سراسری استفاده کنید .

یکی دیگه هم اینه که چون متغییرهای سراسری به دست چند تابع تغییر میکنن . هنگام  Debug کردن برنامه خیلی سخت تر میشه فهمید که کدوم توابع اون رو اشتباه تغییر دادن .

همه اینا احتمال داشتن Bug تو برنامه شما رو بالا میبره . اگه حواستون نباشه !
پاسخ داده شده اسفند 4, 1392 بوسیله ی Ali Rahbar (امتیاز 4,240)   6 16 46
انتخاب شد اسفند 7, 1392 بوسیله ی BlueBlade
...