Question

Notre professeur de programmation nous a appris à utiliser la notation hongroise (par exemple intMyInteger, strMyString, ...) Pendant la programmation.

Mais j'ai entendu quelque part que ce n'est pas utilisé dans le monde professionnel. Est-ce vrai?

Éditer: Je viens de découvrir que c'est en fait "Leszynski"

Était-ce utile?

La solution

Vrai. Les IDE modernes, les malentendus de l'application, les problèmes d'utilisation, etc. l'ont essentiellement tué. Cela ne signifie pas que vous ne le trouverez pas potentiellement, mais j'éviterais de l'utiliser et de m'utiliser pour le boîtier de chameau et le boîtier Pascal.

Microsoft a des recommandations sur la norme de dénominations. Ils l'utilisent dans .NET Framework et beaucoup suivent cela.

Mme a également le Site Framework de code tout-en-un Cela a une documentation et des échantillons pour aider à approfondir cette pensée et d'autres meilleures pratiques (du point de vue de MS).

Autres conseils

Vous avez raison; La notation hongroise est mal vu.

Cet article de Joel vous fournira des informations utiles sur la notation hongroise.
http://www.joelonsoftware.com/articles/wrong.html

Nous avons juste parlé de cela à l'endroit où je travaille en programmation. Ce que nous avons décidé, c'est qu'il est plus important d'avoir des noms très clairs et faciles à comprendre plutôt que de sauver quelques personnages.

Afaik, il a été utilisé de manière spéciale sous Windows. La notation hongroise vient de l'ingénieur logiciel Charles Simonyi, qui était un employé de Microsoft à l'époque. À présent, il est principalement tombé en désuétude, comme vous pouvez voir. À mon avis, je suis d'accord avec Stroustroup car il dit que l'utilité de la notation hongroise est uniquement pour les langues faiblement dactylographiées, mais qu'elle est confuse dans les langues OOP et en général est une limite à l'abstraction.

Lorsque vous développez votre art (j'envisage de coder un art), vous constaterez que vous établirez vos propres conventions de dénomination. Comme un guitariste qui adopte certains styles de ses héros.

Je n'ai trouvé aucune recommandation de convention de dénomination "officielle" qui me conviendrait parfaitement.

Je pense que la lisibilité est le sujet le plus important.

Mes règles personnelles sont:

Les variables privées devraient commencer par _. Les variables doivent utiliser un style hongrois abrégé, comme s pour string, i pour integer, b pour boolean, etc.

Les variables transmises à une fonction commencent toujours par un u pour moi, et ils ont un nom très distinct, comme uCountItemsInAList de sorte que le préfixe hongrois n'a pas besoin d'être utilisé car le type est relativement clair à partir de la dénomination. Et les variables transmises aux fonctions sont déjà probablement mal interprétées, donc un nom long et très descriptif est autorisé à mon avis.

Lorsque j'utilise une classe uniquement dans une fonction, si la fonction est courte, je commence le nom de classe avec un n.

Je code environ 16 heures par jour, et je le fais de manière manique, donc je pense que ma réponse ne peut pas être si "fausse". Bien que ce sujet soit très subjectif, je pense que la lisibilité peut être considérée comme un facteur clé, et ma façon de codage contient des parties de tous les meilleurs codeurs que j'ai pu étudier jusqu'à présent.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top