Yazarlar Sözlük Makaleler Yardım Masası Gözlük Forum İstatistik

Tüm Başlıklar XML

1.  oneri: item'lerin farklı tipte oldugu durumlarda index kullanmayin.

index yerine Hashtable kullanin. dizinin değişmesi durumunda programiniz normal derlenecek ama hata ancak o diziden index vasitasiyla veri almak/yazmak isini yapan kodun çalışması sırasında ortaya çıkacak. programcinin gozunden kacabilecek bir durum. Ornekleyerek anlatmak istedigimi netlestireyim.

Bir veritabanı ile çalışan bir uygulama yazıyoruz ve Select SQL statement ile sorgumuzun sonucunu Dataset'e aldık. Bu işlemden sonra dataset içindeki istediğimiz bir tablonun bir satırını DataRow değişkenine atadık ve bu değişkenden gerekli verileri değişkenlere atama işlemi yapacağız

DataSet ds = new DataSet();
ds = RunSQL("Select * FROM Kisiler WHERE Kodu = 'P00024'");
// sorgunun doğru çalıştığını, dataset'in 1 kayıt içeren 1 tablo içerdiğini
// kabul edip DataRow atamasına geçiyorum. Hata kontrolü yapılabilir burada.

DataRow dr = ds.Tables[0].Rows[0]; // dr değişkenine ds içindeki ilk tablonun ilk satırını atadım.

Kodu   = (string)dr[0];
Adi    = (string)dr[1];
Soyadi = (string)dr[2];
Yasi   = (int)dr[3];
Tel    = (string)dr[4];



yukarıdaki kodda dr değişkenine gelene kadar güvenli bir kod var, fakat dr değişkeninden diğer değişkenlere veri ataması işlemi güvensiz bir işlem. Kisiler tablosunun yeniden oluşturulması sırasında tabloyu yazan kişinin "Yasi" alanini "Soyadi" alanindan once yazmasi durumunda programımız tip uyuşmazlığı Exception'u üretecektir. Veritabanı tablosu değişmese bile Select sorgumuzda bizim yapacağımız bir değişiklik ile de aynı hata meydana gelebilir. Sonuçta programımız başarılı olarak derlenecektir ama yukarıdaki satırlar çalışana kadar hatayı görememe ihtimalimiz yüksektir. çözüm olarak Hashtable kullanilmalidir. guvenli kod asagidadir.

Kodu   = (string)dr["Kodu"];
Adi    = (string)dr["Adi"];
Soyadi = (string)dr["Soyadi"];
Yasi   = (int)dr["Yasi"];
Tel    = (string)dr["Telefon"];


Hastable kullanımında index yerine field ismi verdigimizden sira degisikligi kodumuzda problem cikartmayacaktir.
bateristt
25 Mayıs 2005 17:33 ~ 26 Mayıs 2005 20:43
2.  oneri: kendinize notasyon belirleyin.

değişken isimlendirmeleri, kod blokları, fonksiyon ve class isimlendirmelerinize bir standart getirin. buna alismak ilk basta biraz zor gelebilir. bu sekilde kod yazmaya basladiktan sonra hem yazdiginiz kod duzenli olur, hemde belli bir zamandan sonra kodunuzda guncelleme yapmak istediginizde kodunuzun calisma mantigina daha kolay odaklanip guncellemeye daha cabuk gecebilirsiniz.
bateristt
25 Mayıs 2005 18:17
3.  bkz: typed dataset
fizikci
25 Mayıs 2005 18:27
4.  oneri: comment kullanımını arttırın.

kodlarınızda başkasının anlamayacağını düşündüğünüz yerleri comment satırı ile açıklayın. böylece kodunuza bakan takım arkadaşınızın anlaması kolay olur. Fazla comment kullanımı da yanlıştır. eee, herşeyin fazlası zarar.

// x değerini 1 arttırıyoruz
x = x + 1;


yukarıdaki comment kullanımı gereksizdir. çünkü herkes bu kodu kolayca anlayabilir.

aşağıdaki örnekte ise uygun comment kullanımı vardır

//Newton-Raphson tekniği ile Num değişkeninin karekökünü hesapla
r = Num / 2;
While( abs( r - (Num/r) ) > Tolerance) {
r = 0.5 * ( r + (Num/r) );
}


Yukarıdaki kod karışık ama ne iş yaptığını biliyoruz.
bateristt
27 Mayıs 2005 19:06 ~ 24 Eylül 2006 07:48
5.  uygulamadan programın çalışacağına inanmayın..
pepper
13 Haziran 2005 21:48
6.  indentationa dikkat edin.Ömür boyu aynı projede siz çalışmayacaksınız.Bayrağı teslim ettiğiniz insanların bayrağı en iyi şekilde taşıyabilmesi için bu önemlidir.
mennan
13 Haziran 2005 21:58
7.  Koşul ifadelerinde birden fazla koşul varsa, ne başa uymama olasığı yuksek olanı alın.Ör:
if(  yas >= 25 && cinsiyet == "Male")

yerine
if( cinsiyet == "Male" && yas >= 25 )

kullanın.Çünkü cinsiyetin erkek olmama ihtimali, yaştan daha olası bir ihtimaldir.
mennan
13 Haziran 2005 22:02
8.  Koşul ifadelerinde "başa uymamama olasılığı yüksek olanı alma" kuralını shortcut and (&&) ile kullanın. Sadece & ile kullanırsanız fayda etmez. Eğer shortcut or (||) kullanıyorsanız başa uyma olasılığı yüksek olanı alın. Sebebi için bkz: && ve ||.
fizikci
13 Haziran 2005 22:30
9.  bir teknoloji yeni çıktı diye hemen kullanmaya yeltenmeyin. önce bi araştırın neymiş, ne işe yararmış, ne amaçla çıkartılmış. mesela .NET Framework kullanarak Hesap Makinası, Text Editör yapmak mantıklı değildir.
bateristt
18 Mayıs 2006 17:03
Bu konuda bildiklerinizi bizlerle paylaşabilirsiniz
Tabi bunun için yazarsanız giriş yapmalı, yazar değilseniz yazar olmalısınız.
© 2005, Bilişim Kulübü. (1062 ms)
Ne yapabilirsin: SubtitleClick ile İngilizceni Geliştir, Çınar Framework ile kod yaz, Eglencelik.org'ta biraz eğlen