À 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éfixestrindique qu'il s'agit d'une chaîne de caractères (string).iCompteur: leiprécise que la donnée est un nombre entier (integer).bEstActif: lebsignale une valeur booléenne (vrai ou faux).rgDonnees: en Excel/VBA,rgest 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
Antonymes
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).