notation hongroise
Définition
Convention de nommage des variables utilisée par Microsoft et recommandée aux développeurs Windows. Le nom proviendrait du développeur hongrois Charles Simonyi qui l'aurait popularisée au sein de Microsoft, et du fait qu'au premier coup d'oeil les noms de variable semblent écrits dans une langue d'europe orientale.
Au second examen, la structure se révèle rapidement : le principe consiste à
- choisir pour la variable un nom descriptif raisonnablement court, comme
NombreDObjets
ouTableEditeurs
- utiliser ce nom en le commençant par une majuscule et en insérant des majuscules à chaque nouveau mot à l'intérieur du nom, comme au point précédent
- préfixer ce nom de caractères en minuscules (à une exception près) indiquant le type de variable :
lfnDenombrerEnfants
pour un pointeur long sur une fonction servant à dénombrer les enfants d'un objet
Les préfixes usuels dans cette notation et ses dérivés sont repris ci-dessous
Préfixe | Signification | Type de variable | Particularité |
---|---|---|---|
a | Array | Tableau | |
b | Boolean | Logique | |
d | Double | Flottant double précision | |
dw | Double Word | Mot de 32 bits non signés | Utilisé en C/C++ pour stocker un ensemble sous forme de vecteur de bits. Les programmeurs Pascal, qui disposent des types Ensemble, n'ont pas besoin de ces types. |
E | Enum | Type énuméré | |
h | Handle | Identificateur de fenêtre Windows | |
i | Integer | Entier | Pour les entiers utilisés comme indice dans une structure (comparer avec "n") |
l | Long | entier long | |
lp | Long Pointer | pointeur long | dans le modèle à mémoire segmentée du 286 utilisé par DOS et Windows 16 bits, un pointeur long (far pointer) inclut le numéro de segment et l'offset dans le segment et occupe 32 bits, tandis qu'un pointeur court (near pointer) inclut uniquement un offset dans le même segment, et n'occupe que 16 bits |
lpfn | Long Pointer to FunctionN | Pointeur long vers une fonction | |
m_ | Member variable | Variable membre | Convention propre au C++ |
n | Integer | Entier | Pour les entiers utilisés comme un nombre d'éléments (comparer avec "i") |
p | Pointer to | Pointer | Comparer avec "lp" |
s | String | Chaîne de caractères | |
S | Struct | Enregistrement C/C++ | Equivalent au record Pascal |
sz | Zero-terminated String | Chaîne AZT | C'est le type normal des chaînes en C/C++ |
T | Type | Type Pascal, Typedef C/C++ | |
u | Unsigned integer | Entier non signé | |
C | Class | Classe d'objets | Propre au C++ |