Mađarska notacija
Mađarska notacija je konvencija imenovanja identifikatora u programiranju u kojoj naziv promenljive ili funkcije ukazuje na njenu namenu ili vrstu, a u nekim dijalektima i njen tip. Originalna mađarska notacija koristi nameru ili vrstu u svojoj konvenciji imenovanja, a ponekad se naziva i Apps Hungarian jer je postala popularna u Microsoft Apps diviziji za razvoj Vorda, Eksela i drugih aplikacija.
Mađarska notacija dizajnirana je tako da bude nezavisna od jezika i našla je svoju prvu glavnu upotrebu sa programskim jezikom BCPL. Budući da BCPL nema vrste podataka osim mašinske reči, ništa u samom jeziku ne pomaže programeru da pamti tipove promenljivih. Mađarska notacija to pokušava ispraviti pružanjem programeru izričito znanje o vrsti podataka svake promenljive.
U mađarskoj notaciji, ime promenljive počinje grupom malih slova koja je mnemonika za vrstu ili svrhu te promenljive, a zatim bilo koje ime koje je programer izabrao; ovaj poslednji deo se ponekad zove „dato ime”. Prvi znak datog imena može se napisati velikim slovom da bi se odvojio od indikatora tipa (videti Camel case).
Istorija
[uredi | uredi izvor]Originalnu mađarsku notacija, koja se sada zove Apps Hungarian, izmislio je Čarls Simonji, programer koji je radio u Xerox PARC u periodu od oko 1972. do 1981. godine, a kasnije je postao glavni arhitekta Majkrosofta.
Ime ove oznake odnosi se na Simonjijevo poreklo; mađarska imena su „obrnuta“ u poređenju sa većinom drugih evropskih imena; prezime je na prvom, dok je ime na drugom mestu. Na primer, na srpskom bi njegovo ime bilo „Čarls Simonji“, dok bi na mađarskom jeziku bilo „Simonji Čarls“. Na isti način, u mađarskoj notaciji, ime tipa prethodi „datom imenu“ promenljive.
Primeri
[uredi | uredi izvor]bBusy
: bulov tip (engl. boolean)chInitial
: karakter (engl. char)cApples
: broj predmeta (engl. count)dwLightYears
: dvostruka reč (engl. double word)fBusy
: fleg ili broj sa pokretnim zarezom (engl. flag / float)nSize
: ceo broj (engl. integer)iSize
: ceo broj (engl. integer) ili indeks (engl. index)fpPrice
: broj sa pokretnim zarezom (engl. floating point)dbPi
: broj sa dvostrukom tačnošću (engl. double)pFoo
: pokazivač (engl. pointer)rgStudents
: niz ili raspon (engl. array / range)u16Identifier
: neoznačeni 16-bitni celi broj (engl. unsigned 16-bit integer)u32Identifier
: neoznačeni 32-bitni celi broj (engl. unsigned 32-bit integer)fnFunction
: ime funkcije (engl. function name)
Vidi još
[uredi | uredi izvor]Spoljašnje veze
[uredi | uredi izvor]- Meta-Programming: A Software Production Method Charles Simonyi, December 1976 (PhD Thesis)
- Hugarian notation - it's my turn now :) – Larry Osterman's WebLog
- Hungarian Notation (MSDN)
- HTML version of Doug Klunder's paper[mrtva veza]
- RVBA Naming Conventions
- Coding Style Conventions (MSDN)