Tam Sürümünü Görmek İçin : Daha Performanslı Kodlar(ASP)

ToLGMaN
14.02.2008, 16:48
ASP ile kodlarımızı yazarken genelde nasıl yazdığımıza dikkat etmeyiz.İşimiz çabuk bitsin diye hemen alt alta kodlarımızı yazar ve çalıştırırız.Ancak 1 sene sonra bu kodlara geri baktığımızda hiç birşey anlayamayız.

İşte hem bunlardan sakınmak hemde daha performanslı bir sayfa yaratmak için bu yazımızı okumanız yeterli olacaktır. Aşadağıdaki kriterlere kod yazarken dikkat ederseniz hem sayfalarınızın çalışma performansı artacaktır hemde kodlarınızdan zevk alacaksınız.

1) Düzgün ifadelerle değişken tanımlamak.
Internetteki scriptleri incelediğimde çokca zaman şu tür değişkenlerle karşılaşıyoruz. "Conn2,rs3,c,c2,d3..." Bu liste uzayıp ve değişip gidiyor. Conn ve Rs biraz anlaşılır fakat c, d vb. bir değişken adı kabul edilemez (bence) . Bu şekilde bir değişken tanımdadıktan sonrada 1 gün sonar bile kodlarımıza baksak c nin ne olduğunu anlayamayız…

Tanımalarınızda ön ek kullanmayı unutmamalıyız. Örneğin aşağıdaki liste işimize yarayabilir.

Stringl > str
Integer > i
Object > obj
Boolean > b öneki ya da Mu soneki

<%
Dim strAdi, iYas, objRs,objCon, bEvli,cocuguVarMı
%>


Yukarıdaki kodda ki tanımlamaları kendinize örnek alabilirsiniz.

2) SQL kodlarınızda * (YILDIZ) kullanmayın.
Çoğumuz SQL kodunu şu şekilde kurarız "Select * from tbl" ancak bu programatik olarak doğru olmasına rağmen tercih edilmemeli. Çünkü siz bu kod ile veritabanın o tablosundaki tüm veriyi alıp belleğe atıyorsunuz. Bu ağırlık sitenizin açılmasında kendini gösterecektir. Bu yüzden sadece ihtiyacınız olan alanları çağırınız

SQL = "Select AD,SOYAD,YAS from tablo"

Ayrıca SQL konusunda kendizi geliştirerek 2-3 bağlantı açarak yapacağınız işlemleri INNER JOIN ekleri ile tek SQL e indirebilirsiniz.Bu konuda internetten birçok kaynak bulabilirsiniz. Bu şekilde yaptığınızda ilişkili tablolar inner join mantığıyla tek sorguda halledilebilir.

3) Recordset'leriniz
ASP de elimiz ayağımız olan Recordset'ler bilgisayar için çok yorucu bi nesnedir. Bu yüzden onları çok iyi kullanmak lazım. Hatta bazen gerek bile kalmamaktadır. Eğer SQL komutunuz INSERT,UPDATE veya DELETE yapıyorsa recordset açmanıza gerek yoktur. Connection nesnenizin Execute metodu işinizi görecektir (objCon.Execute(strSQL)) ya da Adodb.Command nesnesini kullanarak bu tür sorguları çalıştırabilirsiniz.
Recordset kullanacaksınız işiniz bitince mutlaka kapatın. Nesneyi serbest bırakmadan önce başka SQL sorgularında da aynı Recordset'i kullanabilrisiniz. Böylece sunucuya yeni nesne yaratma yükünü getirmemiş olursunuz.

5) SQL kullanın
Çoğumuz veritabanına veri girme işlemlerini Recordset ile yapmaktadır.Ancak bu performans kaybına neden olmaktadır. Bu yüzden SQL komutlarını kullanınız. UPDATE, INSERT ve DELETE komutları her işinize yarayacaktır. Aşağıda hepsi için bi örnek var.

INSERT > "INSERT INTO tbl (fldBir,fldIki) VALUES ('"& strStringDeger &"',"& iSayiDeger &")
UPDATE > "UPDATE tbl SET fldAlan = 'Bir', fldAlanIki = 2 where fldId = "& iID
DELETE > "DELETE from tbl"

6) Fonksiyonlar ve Subroutine'ler kullanın
Kodlarınızda sık sık kullandığınız ve aynı işlemleri yapan bölümleri fonksiyon veya sub haline getirerek kullanınız. Bu sayede aynı bölümler kod içinde tekrarlanmayarak sayfa boyutunun daha az olmasını sağlayacak. Hem bu tür bi kodlama kodlarınızın daha işlevsel olmasını sağlar. Tek bir noktadan yapacağınız değişiklik tüm sayfalarda aynı sonucu verecektir.

Bu fonksiyon ve sub ları tek bir (örn:fonks.asp) .asp sayfasına koyarak ve bu sayfayı tüm sayfalara ekleyerek işlemlerinizi hızlandırabilirsiniz.

7) Gerektiği kadar karakter kullanın
Eğer SQL Server kullanıyorsanız oluşturduğunuz tablodaki alanları sadece size gerekecek boyutlarda ayırlayınız. Sadece iki basamaklı bi sayı gireceğiniz alan oluşturuyorsanız boşuna 4 karakterlik bi alan ayarlamayınız. Bu performans açısından pozitif sonuç verecektir.

Yukarıdaki kriterlere dikkat etmeniz halinde hem performansınızda hemde kodlarınızın okunabilirliğindeki gelişmeyi kendinizde göreceksiniz.