Tankado.com

Borland Kodlama Standartları

Bu doküman Delphi kod yazma standartlarını anlatmaktadır. Borland tarafından oluşturulan ve birçok Delphi programcısı tarafından benimsenen standartlar. Object Pascal çok güzel dizayn edilmiş bir dildir, bu standartların temel amacı da kodu daha okunabilir kılmaktır. Daha sonra yazdığınız bir koda baktığınız zaman kolayca okuyabilmelisiniz veya birlikte proje geliştirdiğiniz bir takım arkadaşınız kodlarınızı kolayca anlayabilmelidir.

Genel Kurallar

Hizalama

Yanlış : for i := 0 to 10 do begin // begin, for’la aynı satırda

Doğru : for i := 0 to 10 do
begin

if Şart then
begin

end
else
begin

end;

Yorum Koyma

//???:diğer procedure’u hazırlayınca sıralama kısmını da düzeltmek gerek.

Lisans Bilgisi Ekleme

Yazdığınız unit’e lisans bilgileri eklemek istiyorsanız, unit’in en üstüne aşağıdaki yapıda eklenmelidir. Gerekirse araya aynı formatta yeni satırlar eklenebilir.

{************************************************* ******}
{ }
{ Üretim Modülü }
{ © 2002-2003, ceviz.net }
{ Sürüm: }
{ }
{ Açıklama: modül hakkındaki açıklamalarınız. }{ }
{************************************************* ******}

OBJECT PASCAL

Boşluklar

Object Pascal boşlukları göz ardı eder. Object Pascal çok güzel bir dizayna sahip olduğu için çok fazla boşluk bırakmanız gerekmeyecek, ancak;

Yanlış : CallProc( AParameter )
Doğru : CallProc(AParameter)

if (i = 15) then // yanlış, burada paranteze gerek yok.
if (i = 15) or (j = 5) then // doğru, parantezler gerekli

Yanlış : MyInteger := MyIntegerArray [ 3 ];
Doğru : MyInteger := MyIntegerArray[3];

Ayrılmış Kelimeler (Reserved Words)

Object pascal’a ait ayrılmış kelimeler (for, if, begin, end gibi kod içinde özel manası olan kelimeler) tamamen küçük harflerle yazılmalıdır. Bu kelimeler varsayılan olarak editör içinde koyu yazı tipi ile gösterilirler.

Procedure ve Function’lar (Rutinler)

DosyaBul, ProgramiKapat gibi.

yanlış : procedure bubiruzunokumasizorrutinismi;
doğru : procedure BuOkumasiKolayBirRutinIsmi;

yanlış : procedure Bu_Yanlis_Bir_Procedure_Ismi;

Parametreler

yanlış : procedure Ornek(Parametre1: string; Parametre2: string; Parametre3: string);
doğru : procedure Ornek(Parametre1, Parametre2, Parametre3: string);


İsim Çakışmalarını Önleme

Eğer bir rutin birden fazla unitte tanımlı ise uses kısmında bu unitlerin ikisinin de kullanımı durumunda oluşabilecek karışıklıkları önlemek için bu rutinleri unit ismi ile kullanmak gereklidir.

Örnek : FindClose rutini 2 unitte tanımlıdır.

SysUtils.FindClose(SR); veya Windows.FindClose(Handle);


Değişkenler


Real Tipini Kullanmayın


Variant ve OleVariant

Çalışma esnasında tipi belli olmayan verileri tutmak için kullanılırlar ve genelde COM ve veritabanı programlarında lazım olurlar, bunların dışında pek kullanmayın. Variant’lar diğer tiplere göre çok daha yavaş çalışırlar.

Variant stringleri Delphi tipinde tutarken, OleVariant bu stringleri Ole string’lere çevirir (WideChar). Bunun için COM-based uygulamalarda ve ActiveX geliştirirken OleVariant kullanın.


if İfadesi

if Şart1 and
Şart2 and
Şart3 then


case İfadesi

case İfade of ifade1 :
begin

end;
ifade2 :
begin

end;
else

end; {case}


with ifadesi

with ifadesi yazımda kolaylık sağlaması açısından kullanılır. Ancak with ifadesini gerekli yerlerde kullanmalı ve birden fazla nesne ile kullanmamalısınız.

Yanlış : with Record1, Record2 do

böyle bir kullanım hem kodu okuyan kişiyi şaşırtır, hem de hata tespitlerini zorlaştırır.


EndIf, EndCase, EndWith

Object Pascal’da bu ifadeler yoktur. Bu ifadeler begin..end blokları arasına yazılırlar. Bu ifadeleri kullanırken, başlangıç ve bitiş bloklarını belirlemek için yorum kullanmalısınız :

if i > 5 then
begin

end; {if} // if bloğunun bitişi
with Query1 do
begin
….
end; {with} // with bloğunun bitişi

Enumerated Type

Her elemandan önce enumarated type’i belirten harflerin eklenmesi gerekir. Aşağıdaki örnekte, her elemandan önce bk harfleri eklenmiştir ve bunlar ButtonKind ifadesinin baş harfleridir.

Yalnız sadece L veya 1 eklemekten kaçının. Bunlar gösterimde ve bazı yazıcılarda problem çıkartabilir.

TBitBtnKind = (bkCustom, bkOK, bkCancel, bkHelp, bkYes, bkNo, bkClose, bkAbort, bkRetry, bkIgnore, bkAll);

Exception Handling

Delphi’de genel kural nesneyi oluşturan yok eder. Eğer bir form veya bir nesne oluşturmuşsanız onu yok etme görevi de sizindir. Aldığınız kaynakları geri sisteme vermelisiniz. Bunun için bol bol try..finally bloğu kullanmanız gerekir.

SomeClass1.Create; // oluştur
try
… // bir şeyler yap
finally
SomeClass1.Free; // SomeClass1 mutlaka yok edilir.
end; {try}

Eğer bir hata oluştuğu zaman bir işlem yapmak istiyorsanız (genelde hatayı gösterme veya kaydetme gibi) try..except bloğu kullanmalısınız.

try
….
except
…. // hata oluşursa bu blok çalışır
end; {try}


Class İsimleri

type
TMusteri = class(TObject);


Fields ve Property Access

property Yukseklik: Integer read GetYukseklik write SetYukseklik;


DOSYALAR

FORMLAR


BİLEŞEN ÖNEKLERİ

Forma koyduğunuz her bileşene bileşenin türünü gösteren bir önek ve anlamlı isimler vermelisiniz. Aşağıda bileşenler için önekler yer almaktadır.

Örneğin Vergi nosunun girileceği Edit’in ismi, başına Edt önekini alarak EdtVergiNo olmalı.

Exit mobile version