Notation hongroise - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs est disponible ici.

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.

Notation hongroise Apps

C'est l'idée de préfixer le nom des variables de manière a indiquer son utilisation :

  • rwPosition : variable représentant une ligne (row en anglais)
  • usName : variable représentant une chaîne de caractères non sure (unsafe string en anglais)

Cette notation fut utilisée notamment dans le langage BCPL car il n'y avait alors d'autres types que les 'word' machine.

Notation hongroise Systems

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

  • arpszTableau pour un tableau de pointeurs de chaines de caracteres
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)

References

Page générée en 0.077 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise