26 Şubat 2013 Salı

Macar Notasyonu


 Bu yazımda daha önce de belittiğim gibi Hungarian Notation’dan bahsedeceğim.  Hungarian Notation, program yazımında kullanılan bir kodlama stilidir. Sanırım türkçeleştirdiğimizde Macar Gösterimi diyebiliriz .
  Hepimizin bildiği gibi  geliştirilen bir yazılımda bulunması gereken en önemli özelliklerden biri de kodun okunabilir olmasıdır. Sadece yazan kişinin baktığında neyin nerede olduğunu anladığı bir yazılım diğer yazılımcılar açısından anlama ciddi sıkıntılar doğurabilir. Bunun için çeşitli kodlama stilleri bulunur. İsimlendirme kurallarından, tab kullanımına; yeni satıra geçilmesinden, açıklama satırlarının yerleştirilmesine kadar birçok yazım şekli kodlama stilleri içerisinde incelenebilir. Macar Gösterimi de bunlardan biridir. Macar Gösterimi ilk olarak, Xerox PARC çalışanı olan Charles Simonyi tarafından kullanılmıştır ve Simonyi daha sonra Microsoft’un baş mimarı olmuştur. Macar Gösterimi kodu okurken kolaylık sağlaması için tasarlanmıştır. Değişkenlerin önek (küçük harfler tercih edilir) alarak isimlendirilmesini esas alır. Önekler, değişkenlerin türünü belirlemek için kullanılırlar. Örneğin; tam sayı (integer) türünden sayiisimli değişkenimizi ‘i’ öneki ile: isayi, reel sayı (float) türünden ise ‘f’ öneki ile: fsayi olarak isimlendiririz. Aşağıda hangi değişken türlerinde hangi öneklerin kullanıldığını görebilirsiniz.
önek            tanım
i               int (tamsayı)
n               short int (kısa tamsayı)
l               long int (uzun tamsayı)
f               float (reel sayı)
d               double(reel sayı(float türüne göre daha fazla yer ayrılır))
c               char (karakter)
by              byte (işaretsiz karakter)
b               boolean (mantıksal ifade doğru/yanlış)
s               string (dizgi)
w               word (kelime = çift octet)
dw              double word (çift kelime)
sz              zero-terminated string
               (sıfır karakteriyle sonlanan dizgi)
str             string object (nesne dizgi)
h               handle
pt              point
rgb             rgb triplet
f               file (dosya)
fd              file descriptor (dosya işaretçisi)
v               void
list            list (liste)   
Neden kullanmalıyız?
  • Değişkenin türü isminden anlaşılır.
  • Kodu okurken tanımlama yerlerine geri dönüşleri gereksiz kılar.
  • Tür hataları kodu okurken kolayca algılanabilir.
  • Daha tutarlı değişken adları kullanmayı sağlar.
  • Değişkenlere benzer isimler verilerek, kolay hatırlanmasını sağlar. isayi, fsayi gibi.
Neden kullanmamalıyız?
  • Tür denetlemesi zaten derleyici tarafından yapıldığından gereksiz olduğu düşünülebilir. Gözle yapılan kontroller her zaman doğru sonucu vermez.
  • Modern geliştirme ortamlarında zaten tür uyumsuzluğu durumlarında uyarı otomatik olarak verilir.
  • Bir değişkenin türünü çoğu zaman kullanım şeklinden çıkarabiliriz.
  • Değişken adları zaten yeterince açık olursa Macar Gösterimi sadece dağınıklığa sebep olur.
  • Bir değişkenin türünü değiştirmek istediğimizde, değişkenin ismini de beraberinde değiştirmemizi gerektirir. Yazdığımız kodu yeniden elden geçrmek oldukça zahmetli olabilir.
  • İsimler uzun olma eğiliminde olduğundan Windows’ta sorun olmamasına rağmen Linux’te sorun yaratabilir.

Hiç yorum yok:

Yorum Gönder