En programmation, la notation hongroise est une convention de nommage qui met en avant le type d'un objet. Par exemple, la variable booléenne danger est préfixée par un b pour indiquer un booléen : bDanger.
On distingue deux notations hongroises :
La première a été inventée par Charles Simonyi, programmeur chez Xerox puis architecte en chef au sein de Microsoft. Cette dernière a adopté ce style d'écriture et l'a transformé pour obtenir la notation Systems. La qualification de "hongroise" vient du pays d'origine de Simonyi.
C'est l'idée de préfixer le nom des variables de manière a indiquer son utilisation :
Cette notation fut utilisée notamment dans le langage BCPL car il n'y avait alors d'autres types que les 'word' machine.
Cette notation utilisée couramment consiste à faire précéder le nom de la variable d'un préfixe reflétant son type. Ce préfixe est toujours écrit en minuscule puis la première lettre suivante en majuscule. Ce qui donne :
short nIndex; char cChar; float* pfVal;
Évidemment, il ne faut pas en abuser sinon elle devient inutile. Ex. :
prefixes description
i int (entier)
n short int (entier court)
l long int (entier long)
f float (nombre a virgule flottante)
d double (float double)
c char (caractere)
by byte (caractere non signe)
b boolean (booleen true/false)
s string (chaine de caracteres)
w word (mot = double octet)
dw double word (double mot)
sz zero-terminated string
(chaine de caracteres terminee par un char zero)
str string object (objet String)
h handle
pt point
rgb rgb triplet
f (fd?) file (fichier)
v void
modificateurs description u unsigned (non signe) p pointer (pointeur) a ou ar array (tableau) m_ member variable (variable membre) g_ global variable (variable globale) s_ static variable (variable statique)