6 Aralık 2011 Salı

MACAR NOTASYONU

  1. Macar Notasyonu da denilen bu isimlendirme yöntemi her değişkenin isminin ilk bir kaç karakterinin tipini belirtme yönünde kullanılmasıdır.. Özellikle oop furyasından sonra developer arasında çok yaygın kullanım görmüştür.. Hele hele Visual Basic'te pek sık kullanılır.. Delphi örneği verirsek:

    var
    strhede:string;
    bpos:byte;
    ilength:integer;


  2. Microsoft'ta çalışan yüksek rütbeli Charles Simonyi adlı Macar kişi tarafından Microsoft'a benimsetildiği de rivayet olunur..


  3. sz: string zero, b: byte, w: word, p: pointer, l: long... şeklinde. değişken ismine bakar bakmaz ne olduğunun anlaşılmasını sağlar. İsmin geri kalanı mixed olarak yazılır. lplongpointerdir gibi.


  4. 1980'lerin başından beri Microsoft'ta geliştirme ekipleri tarafından kodlama standardı olarak takip edilmiş, ismini ise Charles Simonyi'nin Macar olmasından ve değişken isimlerini Hungarian Notation ile yazınca İngilizceye benzememesi yüzünden alan isimlendirme yöntemi..

    (bkz: Hungarian Rhapsody)


  5. Sözlük büyük harf desteği vermediğinden burada gözükmese de, tercih edilen şekli her kelimenin baş harfinin büyük olmasıdır. http://msdn.microsoft.com/en-us/library/aa260976(vs.60).aspx adresinden hakkında derin bilgi edinilebilir.


  6. Kardeşi olarak: (bkz: Reverse Polish Notation)


  7. Charles Simonyi adlı zattın tez olarak hazırladığı kodlama standardı tum oop dillerin yerine sadece python mantığında, değişkenlerin türleri tanıtılmadan kullanıldığında asil ise yarayabiliritesi yüksek olan notasyon gereksiz uzun değişken adları yüzünden herkesin sempatisini kazanamayan ve yeni şeker idelerde cursor ve değişken ad buluştuğunda mesela minik bir "int" yazısı ile gerekliliği biraz da olsa ortadan kaldırılan notasyon.


  8. Getirdiği kolaylıklardan bir tanesi, auto-complete kullanırken değişkenlerinizi türlerine göre birarada görmenizdir. Gerçekten büyük kolaylıktır.


  9. Microsoft tarafından desteklenen, özendirilen, burnumuza sokulan bir kullanımdır. Bunun sebebi bir rivayete göre Microsoft'un hazırladigi apilerin veri tipleriyle fonksiyonlar arasındaki farkı algılayış şeklidir. Bu isimlendirme tekniği kullanıldıkça bu konudaki sorunlar azalacakmış, bu sebepten Microsoft böyle bir politika izliyormuş. Software Engineering hocam bu konuda durmadan 2 saat konuşabiliyor, bana ise bunlar anlamsız geliyor, karman çorman notation'a güveniyor,inanıyorum.


  10. Gereksiz bir değişken isimlendirme notasyonudur. Şöyle ki güncel pek çok programlama dilinde değişkenlerin tipini zaten baştan tanımlamak gerekmektedir. Ayrıca yazılan koda bir tek düzelik, bayağılık kattığından kodlayan kişiye hamaliye bir işi yapıyormuş hissini verir. Bu notasyonun kod okunabilirliğinin içine nasıl ettiği de aşağıdaki vbscript kodunda gözlemlenebilir.

    if ( (ipaddresshigh and maskhigh) = (segmenthigh and maskhigh) ) and ( (ipaddresslow and masklow) = (segmentlow and masklow) ) then
    inrange=true
    else
    inrange=false
    end if

    if ( (bipaddresshigh and bmaskhigh) = (bsegmenthigh and bmaskhigh) ) and ( (bipaddresslow and bmasklow) = (bsegmentlow and bmasklow) ) then
    finrange=true
    else
    finrange=false
    end if

Hiç yorum yok:

Yorum Gönder