Comment nommez-vous vos contrôles GUI?


12

Il est généralement considéré comme une mauvaise pratique d'utiliser la notation hongroise , mais il est courant de trouver des contrôles GUI nommés userNameTextBoxet userNameLabel.

Mettez-vous le type de contrôle dans son nom? N'est-ce pas une sorte de notation hongroise?


dans l'ensemble, le mien n'a pas de nom car il n'en a pas besoin dans WPF
jk.

Réponses:


12

Comme tu dis. En général, la notation hongroise est une mauvaise pratique. J'aime garder mes noms aussi près que possible du domaine, mais parfois ce que vous essayez de dire, c'est que c'est la zone de texte et c'est l'étiquette .

Voir la réponse de Kramii à une autre question pour son interprétation très raisonnable des raisons pour lesquelles il utilise toujours le hongrois dans certaines situations.

Comme pour tout code, la cohérence et l'auto-évaluation sont essentielles. Si vous et votre équipe êtes d'accord sur la façon dont les différents contrôles GUI sont étiquetés et sur les éléments qui ont besoin d'étiquettes, tout ira bien :)


8

En fait, j'utilise la notation hongroise, uniquement pour les contrôles GUI. J'utilise quelque chose comme lblText, rbGroup1, lvTable etc. pour les étiquettes, les boutons radio et les vues de liste.

Ils n'ont jamais tendance à changer de toute façon et il est clair quelle variable est un contrôle GUI et ce qui ne l'est pas.

Cependant, puisque j'utilise WPF avec des possibilités de liaison, il n'est plus vraiment nécessaire de les nommer du tout, car il est lié à une propriété C #.

Btw, ne faites pas l'erreur d'appeler un contrôle lvListViewPersons ce que je vois occasionnellement. Si une variable est préfixée par lv, vous pouvez voir que c'est déjà une vue de liste.


3
D'accord avec ça. Les contrôles GUI sont le seul endroit où la notation hongroise n'est pas un péché cardinal (OMI bien sûr)
Wayne Molina

4

Notre équipe utilise la notation hongroise pour les contrôles GUI, pas pour le reste du code.

Exemple typique, une étiquette suivie d'une zone de texte:

  • lblFirstName
  • txtFirstName

De plus, il vous permet de trouver facilement votre zone de texte, tapez simplement "txt" et intellisense fera le reste.


1

J'utilise la notation hongroise pour les éléments GUI. Il est vraiment la douleur lorsque vous fermez QtDesigner, ouvrez Visual Studio et quand vous voulez texte ensemble sur le bouton si vous avez zone de texte nommé username, passwordetc. Lorsque vous utilisez Qt, ce n'est pas gros problème, parce que tous les éléments de l' interface graphique sont emballés à l' intérieur uiobjet ( ui.username), mais lorsque j'utilise Windows Forms, la zone de texte nommée nom d'utilisateur ne fait que gonfler l'espace de noms.

Dans ce cas, txtUsername, btnLogin, lblStatus, etc. sont clairement meilleures options.


1

J'évite d'utiliser la notation hongroise pour les contrôles GUI - j'éviterais de nommer un contrôle comme `lblFirstName 'parce que je ne me soucie pas vraiment que ce soit une étiquette - du point de vue de la liaison de données, c'est juste quelque chose à lier.

Pour les contrôles qui ont besoin d'un nom, j'ajoute généralement le préfixe uxpour «expérience utilisateur». Cela montre clairement que l'élément n'est destiné qu'à l'interaction de l'utilisateur. Par exemple, mon modèle de vue peut avoir une propriété appelée FirstNameet la vue peut avoir un contrôle appelé uxFirstName. Cela a l'avantage supplémentaire que tous mes contrôles nommés sont bien regroupés dans mon IDE.


3
Le uxpréfixe n'est-il pas lui-même la notation hongroise? Peut-être l'autre type (j'oublie les noms des deux) qui indique le sens et non le type, mais toujours une forme de hongrois ;-)
Wayne Molina

Je pense que vous faites référence à, apps hungarianpar opposition à systems hungarian. Les applications hongroises ne sont pas considérées comme aussi nocives que les systèmes, mais je pense que la signification de'ux 'pourrait être trop élevée pour être considérée comme des applications. Je suppose que vous pourriez l'appeler couche hongroise ou quelque chose :)
MattDavey

1

Je sais que les gens ne supportent pas la notation hongroise dans l'ensemble, mais je la trouve toujours très utile dans beaucoup d'endroits. Pour l'interface graphique, j'utilise au moins le préfixe wnd.

Le problème de ne pas utiliser la notation hongroise est simple, une fois que vous quittez les eaux douces de MSVS, la navigation prend un piqué du nez. Vous voyez une sorte de SomeValue = SomeOtherValueet vous n'avez aucune idée de ce qui se passe à moins que vous ne regardiez chaque putain de chose. Via grep ou une bonne vieille recherche, qui tue généralement la productivité là-bas, les IDE autres que QT et MSVS sont vraiment mauvais pour les recherches.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.