Hungarian Notation (Macar Gösterimi)

  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 sayi isimli 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.

Sonuç olarak, Macar Gösterimi kolaylık sağlaması amacıyla kullanılan ama zaman zaman dezavantajları olan bir kodlama stilidir. Kullanıp kullanmamak sizin tercihiniz ancak genel hatlarıyla, bu stille yazılmış kodların karışık gelmemesi için bilmenizde fayda var 😉

Hazal Çıplak

Reklamlar

2 thoughts on “Hungarian Notation (Macar Gösterimi)

  1. Anonim dedi ki:

    eywallah bro

  2. Anonium dedi ki:

    Teşekkürler

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s