[TARTIŞMA] Değişken Boşaltma Ne Kadar Gerekli ?

VBA Makrolar ile ilgili sormak istedikleriniz, yapmak istedikleriniz hakkında yardım alabileceğiniz bölümdür.

[TARTIŞMA] Değişken Boşaltma Ne Kadar Gerekli ?

İleti#1)  l3oomerangg » 07 Kas 2018 18:44

Merhaba arkadaşlar,

Bugün biraz değişiklik yapıp merak ettiğim bir konu hakkında bir tartışma konusu açmak istedim. Özellikle değerli üstadlarımızın fikirlerini ve yorumlarını almak istiyorum. Acaba bu yanlış bilinen bir konu mu ? Yoksa gerçekten faydası var mı ? Lafı fazla uzatmadan konumuza geçelim istiyorum.

BİR DEĞİŞKENLE İŞİMİZ BİTTİKTEN SONRA BU DEĞİŞKENİN DEĞERİNİ BOŞALTMAK PROGRAMIMIZI GERÇEKTEN HIZLANDIRIR MI ?

Evet arkadaşlar konumuz bu. Biraz bahsetmem gerekirse, forumda ki bir kaç konuda işimiz bittikten sonra değişkenlerin değerini boşaltmanın programımıza hız kazandıracağı veya RAM yükünü azaltacağından bahsedilmiş. Konuya biraz uzak olanlar için örneklerle biraz açıklamak istiyorum.

Öncelikle bildiğimiz üzere değişkenlerimizin veritiplerini modül bazında genel olarak "DIM" ile tanımlıyoruz;

Kod: Tümünü seç
Dim Alfabe as String
Dim Kayıt as Integer
Dim Dizi(1 to 30) as Long
Dim Kalas as Object

Alfabe = "ABC"
Kayıt = 1
Dizi(1) = 1000
Dizi(2) = 2000
Set Kalas = xxx Kodlar


Bu işlem bize tanımladığımız değişkenler için veritipine göre RAM de belli bir miktar yer ayırıyor ve değişkenlerin tanımlandığı modül çalışmaya devam ettiği sürece de RAM de ayrılmış yerleri beklemeye devam ediyor. Bu değişkenlerin değerlerini işimiz bittikten sonra boşaltmak istediğimiz zaman ise aşağıda ki kodları kullanıyoruz.

Kod: Tümünü seç
Alfabe = vbNullString
Kayıt = Empty
Erase Dizi
Set Kalas = Nothing


Peki yaptığımız bu boşaltma işlemleri RAM de gerçekten yer açıyor mu ? İşin açıkçası ben bu değer boşaltma işleminin programın ne hızlanmasına, ne de RAM yükünün azalmasına bir etkisi olmadığını düşünüyorum. Yani bana göre tamamen gereksiz bir işlem. Neden derseniz, bu boşaltma işlemleri, o değişkenin sadece değerini sıfırlıyor. Ama RAM hafızada ayrılmış olan alan halen aynı şekilde kalıyor. Yani değişkeni "DIM" ile tanımladığımız ama henüz değer vermediğimiz ilk boş haline getiriyor sadece.

Tabii ki bunlar benim mantık yürüterek düşündüğüm şeyler. Ve ben bir programlama uzmanı değilim. Yeni yeni VBA programlama üzerine birşeyler öğrenmeye ve öğrendiklerimle birşeyler yapmaya çalışıyorum. Araştırıyorum ve soruyorum.

Siz değerli üstadlarımdan da rica ediyorum. Bu konu hakkında fikir ve yorumlarınız nelerdir. Zira bazı şeyleri doğru bir şekilde öğrenmek ve uygulamak istiyorum. Gereksiz yere fazladan kod yazmak ve kafa yormak istemiyorum.

Tabii benim yürüttüğüm mantık doğru ise akla birkaç soru daha geliyor.

1 - Değişken boşaltma komutları niye var ? (Kendi fikrim var ama öncelikle sizlerin yorumlarını bekliyorum)
2 - Program çalışmaya devam ederken, işi biten değişkenleri tamamen RAM den kaldıracak komutlar var mı ?
Kullanıcı avatarı
l3oomerangg
Yeni Başlamış
 
Kayıt: 15 Haz 2018 03:59
Meslek: Serbest
Yaş: 40
İleti: 56
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul / Sultangazi

Cevap: [TARTIŞMA] Değişken Boşaltma Ne Kadar Gerekli ?

İleti#2)  feraz » 07 Kas 2018 20:52

Merhaba.

Ben çok Excel vba videoları izledim Türkçe ve yabancı dilde.
Videolarda ve yabancı sitelerdeki kodlarda gördüğüm Array ve Object lerde boşaltma yapıyorlar.
Yani integier vs.. tanımlamalarda kimse değişken boşaltma işlemi yapmıyor en azından ben hatırlamıyorum.

Bende bu konuyu çok merak ediyordum ve bu forumda bazı üyelerin vs... değişkeni boşalttığını gördüm ve bende onların yolundan gidiyorum :)
Bu Ram dediğiniz bilgisayar Ramımı yoksa exceldede böyle birşey var mı?
Kullanıcı avatarı
feraz
Site Dostu
 
Kayıt: 19 May 2014 19:36
Konum: Almanya
Meslek: İşçi
Yaş: 39
İleti: 5456
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Aksaray

Cevap: Cevap: [TARTIŞMA] Değişken Boşaltma Ne Kadar Gerekli

İleti#3)  l3oomerangg » 07 Kas 2018 22:29

feraz yazdı:Merhaba.

Ben çok Excel vba videoları izledim Türkçe ve yabancı dilde.
Videolarda ve yabancı sitelerdeki kodlarda gördüğüm Array ve Object lerde boşaltma yapıyorlar.
Yani integier vs.. tanımlamalarda kimse değişken boşaltma işlemi yapmıyor en azından ben hatırlamıyorum.

Bende bu konuyu çok merak ediyordum ve bu forumda bazı üyelerin vs... değişkeni boşalttığını gördüm ve bende onların yolundan gidiyorum :)
Bu Ram dediğiniz bilgisayar Ramımı yoksa exceldede böyle birşey var mı?


Teşekkür ediyorum yorumun için @feraz. Evet RAM diye bahsettiğim şey, bilgisayar RAM'i.

Ve evet bende genel olarak kodlamalarda Nesne değişkenlerin boşaltıldığını gördüm. Object değişkenlerinin tanımlandıktan sonra çalışma yapısını ve RAM'de ne gibi bir yer ayrıldığı konusunda bilgim yok. Array'lerde gene standart zaten RAM de ayrılan hafıza, bu bakımdan bence Array'lerinde boşaltılmasına gerek yok. Tabii kod yapısında ki bir gereklilikten dolayı boşaltılıyorsa farklı durum tabi. Ama bizim tartıştığımız programdan verim almak için değişken boşaltmanın gerekliliği olduğundan Array tipindeki bir değişkenin boşaltılmasını da gerekli bulmuyorum. Ha dinamik bir Array değişkeninde sanırım faydası olabilir. Ama eleman sayısı belli olan statik bir Array değişkeninde gereklilik yoktur sanırım.

Bu konuda ki amaç zaten eksik veya yanlış bildiklerimizin yerini doğru olanlara bırakmak ve kavramları çok iyi kavramak. Aslına bakarsanız forumda genel olarak Yardım/Çözüm başlıkları var, ayrıca çok faydalı olacağını düşündüğüm ama kaderine terk edildiği kanaatinde olduğum bir makale bölümü var... Makale bölümünün daha çok genişletilmesi gerektiği kanısındayım. Bunların yanına tartışma başlıklarının eklenmesi gerektiğini de düşünüyorum.
Kullanıcı avatarı
l3oomerangg
Yeni Başlamış
 
Kayıt: 15 Haz 2018 03:59
Meslek: Serbest
Yaş: 40
İleti: 56
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul / Sultangazi

Cevap: [TARTIŞMA] Değişken Boşaltma Ne Kadar Gerekli ?

İleti#4)  feraz » 08 Kas 2018 04:03

Rica ederim.

Dediğiniz öyle forum olaylarını kapatmışlar sanırım önceleri üyeler rahat durmamış :)

Şimdiki bilhisayarların Ramı zaten en az 4gb dir.Exceldeki bu değişkenler Ramı fazla etkikemeyeceğini sanıyorum.

Önceden dediğiniz gibi değişkenleri sıfırlamak için olabilir.
Bakalım uzmanlar ne yanıt verecek üstad.

Ben zaten acemiyim bu Vba'da.
Kullanıcı avatarı
feraz
Site Dostu
 
Kayıt: 19 May 2014 19:36
Konum: Almanya
Meslek: İşçi
Yaş: 39
İleti: 5456
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Aksaray

REKLAM
Excel Logo XML Oluşturucu
Logo Object Designer ile Uyarlama

Cevap: [TARTIŞMA] Değişken Boşaltma Ne Kadar Gerekli ?

İleti#5)  l3oomerangg » 10 Kas 2018 21:40

Bu tarz konuların daha çok ilgi çekmesini beklerdim. Ama maalesef genel olarak sanırım orada burada yazılanları doğru olarak kabul etmek veya hazırca kodları alıp ne işe yaradığını bilmeden kullanmak herkesin daha çok işine geliyor. Yanlış anlaşılmasın, benim yazdıklarım doğrudur demiyorum. Sadece doğruyu bulmak adına tartışmak istemiştim.

Bana göre sunulan çözümlerde, insanlar neyi neden yaptıklarını daha iyi anlarlarsa, ileri de o insanlar kendileri çözümler üretebilirler. Bu da aynı kişiden gelecek soruları zamanla azaltacaktır, hatta yaratıcılıklarını artıracaktır.

İsterdim ki şu forumda bir de ortak proje alanı oluşturulabilseydi, VBA programlamayı tam olarak pekiştirerek öğrenmiş olurduk.
Kullanıcı avatarı
l3oomerangg
Yeni Başlamış
 
Kayıt: 15 Haz 2018 03:59
Meslek: Serbest
Yaş: 40
İleti: 56
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul / Sultangazi


Forum Genel Makro Soruları

Online Kullanıcılar

Bu forumu görüntüleyenler: Kayıtlı kullanıcı yok ve 2 misafir

Bumerang - Yazarkafe