Notation hongroise

Définition, exemples et bonnes pratiques

À retenir

  • Elle ajoute un préfixe (souvent en minuscules) avant le nom de la variable.
  • Elle servait à identifier le type de donnée sans avoir à remonter à sa déclaration.
  • Elle est devenue largement obsolète avec l'arrivée des outils de développement intelligents.

La notation hongroise est une règle de nommage en programmation qui consiste à ajouter un petit préfixe au nom d'une variable pour indiquer sa nature ou son type. C'est un peu comme si, au lieu de nommer une boîte « Sucre », vous la nommiez « pdrSucre » pour préciser immédiatement qu'elle contient de la poudre.

Étymologie

Ce terme vient de son créateur, Charles Simonyi, un ingénieur de chez Microsoft d'origine hongroise. L'appellation s'est popularisée car les noms de variables ainsi formés (remplis de consonnes au début) ressemblaient, pour des yeux anglophones, à des mots de la langue hongroise.

Exemples d'usage

  • strNomUtilisateur : le préfixe str indique qu'il s'agit d'une chaîne de caractères (string).
  • iCompteur : le i précise que la donnée est un nombre entier (integer).
  • bEstActif : le b signale une valeur booléenne (vrai ou faux).
  • rgDonnees : en Excel/VBA, rg est souvent utilisé pour désigner une plage de cellules (range).

Cas d'usage

Elle a été massivement utilisée dans le développement de Windows et dans les langages anciens comme le C ou le C++. Aujourd'hui, on la retrouve encore dans le développement de systèmes embarqués ou dans la maintenance de codes sources historiques (legacy).

Bonnes pratiques

Dans les langages modernes (Java, Python, C#), cette pratique est généralement déconseillée. Les éditeurs de code actuels affichent le type d'une variable simplement en le survolant. De plus, si vous changez le type d'une variable (par exemple de entier à flottant), vous devez renommer toutes ses occurrences, ce qui est source d'erreurs.

Synonymes

convention de préfixage typage dans le nom

Antonymes

CamelCase pur snake_case pur

Conseil

Si vous rejoignez un projet existant qui utilise déjà la notation hongroise, respectez-la par souci de cohérence. Si vous créez un nouveau projet dans un langage moderne, préférez des noms clairs et explicites sans préfixes techniques.

Questions fréquentes

Est-ce encore utile aujourd'hui ?

Rarement. Elle peut être utile dans des environnements très simples sans aide visuelle, mais la tendance actuelle favorise des noms descriptifs comme 'ageUtilisateur' plutôt que 'iAge'.

Quelle est la différence entre la notation 'Apps' et 'Systems' ?

La version 'Systems' indique le type technique (ex: entier), tandis que la version 'Apps' indique l'usage logique (ex: une coordonnée horizontale).