Mlliyet Milliyet Blog Milliyet Blog
 
Facebook Connect
Blog Kategorileri
 

04 Şubat '09

 
Kategori
Yazılım
 

Değişlik programcılık teknikleri, püf noktaları

Bu yazıda çok işinize yarayacağını sandığım bazı programcılık tekniklerinden söz edeceğim. Fırsat buldukça bu püf noktalarına yenilerini ekleyeceğim.

Sınıfları Temizlemek, Belleği Pirüpak Yapmak

Bu püf noktasını bir süre önce bir kitapta gördüm. Bu süper püf noktasının anlatıldığı kitabı alma imkanını bulamamış olanlar bu teknikten mahrum kalmasın diye tekniği özetleyip sizinle paylaşacağım. Püf noktamızın konusu sınıfları temizlemek ama yani sınıfları bellekten temizlemek.

Şimdi bazılarınız diyecekler ki, bizim bildiğimiz nesneler bellekten temizlenirdi şimdi bellekten bir de sınıfları mı temizleyeceğiz? Sınıflarınız kirli ise bunları bellekten mutlaka temizlemeniz gerek. Yoksa bellek berbat olur. Bu işlem için yani sınıf temizleme işlemini GC sınıfının SuppressFinalize() metodu ile aşağıdaki gibi yapabilirsiniz.

System.GC.SuppressFinalize(this); // Bu Sınıfı Ter Temiz Yap

Sınıfınızda bu satırı içeren bir metot hazırlayıp kullanabilirsiniz. Sınıfınızda böyle bir metot hazırlayıp kullanmış olmanıza rağmen sınıf bir türlü bellekten temizlenmiyorsa bilgisayarınızı kapatıp tekrar açıp temizleyip bu metodu ikinci kez kullanmanız önerilir(!).

class kirli_sinif

{

public void sinifi_cilala()

{

System.GC.SuppressFinalize(this); // Bu Sınıfı bellekten uçur

}

}

Programın ileri aşamalarında bu sınıfın örneğinı alıp bu metodu işletirseniz bellek temizleme dertlerinizden kurtulursunuz.

Button Nesnelerinin Text Özelliği

Varsayalım ki C# veya başka bir programlama diliyle bir uygulama geliştirdiniz. Doğal olarak formlarda Button nesnelerine yer verdiniz. Button nesnelerinin etiketlerini yani başlık metinlerini yani Text özelliğine dikkat etmelisiniz. Çünkü Button nesnelerine uygun veya motive edici başlık metni seçmezseniz Button nesnelerinin Click olayıyla ilişkilendirdiğiniz metotlar verimli bir şekilde çalışmıyorlar. Örneğin Button nesnesine “Aktar” bir başlık metni yerine “Gözünü Seveyim Güzel Aktar” gibi bir başlık metni seçmeniz halinde programınız hatasız ve daha hızlı çalışıyor. Madem Button nesnelerinin başlık metinleri bu kadar önemlidir dikkatli olup başka programcılara ait başlık metinlerini kullanmamak gerekmektedir. Rivayetlere göre bu püf noktasını bir öğretim üyesi bulmuş ve ODTÜ mezunu bir bilgisayar mühendisi geliştirmiştir.

Procedure Kullan Gerisini Merak Etme Sen

Programcılar yazdıkları programı överken bazen kullandıkları veritabanın sağlam olduğunu söylerler. Örneğin Access veritabanı SQL Server kadar sağlam ve güvenli değildir. Benim programlarını pazarlamaya çalışanlara bir önerim var: C# ile geliştirdiğiniz projelerde mümkün mertebe fonksiyon yerine Procedure kullanın. Madem Procedureler daha gelişmiş bir yapıya sahiptir Procedure kullanarak programınızın gücüne güç katabilirsiniz. Ama hocam C#’ta Procedure’ler yok gibi itirazları kabul etmem. Programlarınızı kalitesini artırmak istiyorsanız Procedure kullanmalısın.

Dizi Değişken Tanımlama Tekniğinizi Değiştirin

Programcılıkta güncelin uzağında kalmış bazı programcılar C# gibi görece yeni bir programlama dili kullansalar bile bütün uyarılara rağmen bildiklerini okuyorlar ve dizi değişkenleri aşağıdaki gibi tanımlıyorlar:

private void senin_degil_benim_buton_Click(object sender, EventArgs e)
{
int[] dizini_dovmeyen_dizi = new int[4];
}

Ne yapıyor programcımız burada? Eski ve modası geçmiş usulde 4 elemanlı integer tipinde bir dizi değişken tanımlıyor. Hal bu ki bu dizi değişkeni aşağıdaki gibi tanımlasa programının değeri en az 2 kat artacak ve başı göklere, zirvelere erecek. Benden uyarması; akıllı programcılar dizi değişkenkeri aşağıdaki gibi tanımlıyorlar. Bu arada kodunuza using System.Collections; yazmayı unutmayın.

ArrayList dizini_doven_dizici = new ArrayList()

 
Toplam blog
: 21
: 849
Kayıt tarihi
: 02.08.08
 
 

1992 yılından başlayarak bilgisayar ve programcılık üzerine dergilerinde çok sayıda makale yayınladı..