mümkün olduğunca az değişken kullanmakta fayda var, çoğu dilde scope içinde tanımlanan değişkenlerde genelde o scope çalışırken gerekli hafıza allocate edilir.
int x = 10; // global olduğundan hafızada her zaman yer allocate eder
if(...)
{
int y = 11; // if bloguna girdiginde yer allocate eder
}
int H(int z) {
int w = 2; // fonksiyon çağırıldığında yer allocate eder,
//fonksiyon işlevini bitirdiğinde dispose edilir.
return z * w;
}
int v = H(10) // global ayni sekilde surekli yer allocate eder
edit: objeler için bu durum farklı, objelerle çalışırken garbage collection yönetimi için farklı stratejiler mevcut, mesela .net te IDisposable diye bir interface var