Мађарска нотација
Мађарска нотација је конвенција именовања идентификатора у програмирању у којој назив променљиве или функције указује на њену намену или врсту, а у неким дијалектима и њен тип. Оригинална мађарска нотација користи намеру или врсту у својој конвенцији именовања, а понекад се назива и Apps Hungarian јер је постала популарна у Microsoft Apps дивизији за развој Ворда, Ексела и других апликација.
Мађарска нотација дизајнирана је тако да буде независна од језика и нашла је своју прву главну употребу са програмским језиком BCPL. Будући да BCPL нема врсте података осим машинске речи, ништа у самом језику не помаже програмеру да памти типове променљивих. Мађарска нотација то покушава исправити пружањем програмеру изричито знање о врсти података сваке променљиве.
У мађарској нотацији, име променљиве почиње групом малих слова која је мнемоника за врсту или сврху те променљиве, а затим било које име које је програмер изабрао; овај последњи део се понекад зове „дато име”. Први знак датог имена може се написати великим словом да би се одвојио од индикатора типа (видети Camel case).
Историја
[уреди | уреди извор]Оригиналну мађарску нотација, која се сада зове Apps Hungarian, измислио је Чарлс Симоњи, програмер који је радио у Xerox PARC у периоду од око 1972. до 1981. године, а касније је постао главни архитекта Мајкрософта.
Име ове ознаке односи се на Симоњијево порекло; мађарска имена су „обрнута“ у поређењу са већином других европских имена; презиме је на првом, док је име на другом месту. На пример, на српском би његово име било „Чарлс Симоњи“, док би на мађарском језику било „Симоњи Чарлс“. На исти начин, у мађарској нотацији, име типа претходи „датом имену“ променљиве.
Примери
[уреди | уреди извор]bBusy
: булов тип (енгл. boolean)chInitial
: карактер (енгл. char)cApples
: број предмета (енгл. count)dwLightYears
: двострука реч (енгл. double word)fBusy
: флег или број са покретним зарезом (енгл. flag / float)nSize
: цео број (енгл. integer)iSize
: цео број (енгл. integer) или индекс (енгл. index)fpPrice
: број са покретним зарезом (енгл. floating point)dbPi
: број са двоструком тачношћу (енгл. double)pFoo
: показивач (енгл. pointer)rgStudents
: низ или распон (енгл. array / range)u16Identifier
: неозначени 16-битни цели број (енгл. unsigned 16-bit integer)u32Identifier
: неозначени 32-битни цели број (енгл. unsigned 32-bit integer)fnFunction
: име функције (енгл. function name)
Види још
[уреди | уреди извор]Спољашње везе
[уреди | уреди извор]- 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[мртва веза]
- RVBA Naming Conventions
- Coding Style Conventions (MSDN)