Free Web Hosting Provider - Web Hosting - E-commerce - High Speed Internet - Free Web Page
Search the Web

154
Makale Tarihi : 21 Kasım 1999                   Yazan:Can Kaynak

Güveli kodlama fikirleri

Pek çoğumuz Dataset örnekleri ile çalışmışızdır.Bu bir verinin işlenmesini epeyce kolaylaştırır. Fakat büyük çaplı bir programda bazen başımıza bela olabiliyor.Hele sistem analizsiz yola çıkmış ve veritabanını oluştururken bazı şeyleri göz ardı etmişsek kesin başımız beladadır.Her ne olursa olsun bazı sahaları silmek yada değiştirmek gerektiğinde bu işlem saatlerimizi hatta günlerimizi alabilir. Ama Delphi'nin inanılmaz kabiliyetleriyle bu kötü durumumuzu aleyhimize çevirebiliriz.

Aşşağıdaki koda dikkatinizi çekmek istiyorum.

begin

with dataset do

begin

fieldByName('Tasiyici').asString := 'CINS KARGO';

fieldByName('GST').asBoolean := true;

fieldByName('PST').asBoolean := true;

fieldByName('Uygun').asBoolean := False;

end;

end;

Bu türde ben yıllarca yüzlerce kod gördüm ve bir saha isimi değiştirilirken yada silinirken çıldıran yüzlerde insan gördüm.Benim tavsiyem dephi de uygulam yazarken kaynak kodda kesinlikle saha isimleri kullanmayın.

Delphi sizin için pek çok iyi iş çıkaran mükemmel bir derleyicidir, aşşağıdaki kodu kullanın.

Örnek 1: Data modüllerini kullanın ve sahaları bunlara tanımlayın.


with OrnekDatamodule do

begin

fieldByName(tblCustEditTasiyici.FieldName).asString :='CINS KARGO';

(....)

End;

 


Örnek 2:Sabitleri Tanımlayın.

Const

FLD_CustEditTasiyici = 'Tasiyici';

ve Şu şekilde kullanın.

with dataset do

begin

fieldByName(FLD_CustEditTasiyici).asString := 'CINS KARGO';

(...)

end;


Her iki metot da iyi çalışıyor. ve siz örneğin bir saha silerseniz( ve tabiki ikinci örnekteki gibi tanımlanan sabiti de silerseniz); derleyici sizin için çalışacak, siz her nerede bu sahayı kullandıysanız bunların hepsini size bulacaktır. Eğer bununla birlikte siz saha isimlerini de kodda kullanıyorsanız, siz (Daha kötüsü :müşteriniz) sadece çalışma-anında sildiğiniz sahaların oluşturabileceği problemleri bulabilir.