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