En general, se considera una mala práctica utilizar la notación húngara , pero es común encontrar controles GUI con nombre userNameTextBox
y userNameLabel
.
¿Pones el tipo de control en su nombre? ¿No es esto una especie de notación húngara?
language-agnostic
coding-style
gui
notation
Jader Dias
fuente
fuente
Respuestas:
Como tú dices. En general, la notación húngara es una mala práctica. Me gusta mantener mis nombres lo más cerca posible del dominio, pero a veces lo que intenta decir es que este es el cuadro de texto y esta es la etiqueta .
Vea la respuesta de Kramii a otra pregunta para su versión muy razonable de por qué todavía usa húngaro en ciertas situaciones.
Como con todo el código, la consistencia y la autoevaluación son clave. Si usted y su equipo acuerdan cómo se etiquetan los diferentes controles de la GUI y qué elementos necesitan etiquetas, estarán bien :)
fuente
En realidad, uso la notación húngara, solo para controles GUI. Utilizo algo como lblText, rbGroup1, lvTable, etc. para etiquetas, botones de radio y vistas de lista.
De todos modos, nunca tienden a cambiar y está claro qué variable es un control GUI y qué no.
Sin embargo, dado que uso WPF con posibilidades de enlace, ya no es realmente necesario nombrarlos, ya que está vinculado a una propiedad C #.
Por cierto, no cometas el error de llamar a un control lvListViewPersons lo que ocasionalmente veo. Si una variable tiene el prefijo lv, puede ver que ya es una vista de lista.
fuente
Nuestro equipo está utilizando la notación húngara para los controles GUI, no para el resto del código.
Ejemplo típico, una etiqueta seguida de un cuadro de texto:
Además, facilita la búsqueda de su cuadro de texto, simplemente escriba "txt" e intellisense hará el resto.
fuente
Estoy usando notación húngara para elementos GUI. Realmente es el dolor cuando se cierra QtDesigner, Visual Studio y abierta cuando se desea el texto conjunto en el botón cuadro de texto si usted tiene el nombre
username
,password
, etc. Cuando usa Qt, no es gran problema, ya que todos los elementos de la GUI se envuelven en el interiorui
de objetos (ui.username
), pero cuando uso Windows Forms, el cuadro de texto llamado nombre de usuario solo aumenta el espacio de nombres.En ese caso,
txtUsername
,btnLogin
,lblStatus
, etc, son claramente mejores opciones.fuente
Evito usar la notación húngara para los controles de la GUI; evitaría nombrar un control como `lblFirstName 'porque realmente no me importa que sea una etiqueta; desde el punto de vista de la vinculación de datos, es solo algo para vincular.
Para los controles que necesitan un nombre, generalmente agrego el prefijo
ux
'experiencia de usuario'. Eso deja en claro que el elemento está destinado solo para que el usuario interactúe con él. Por ejemplo, mi modelo de vista podría tener una propiedad llamadaFirstName
y la vista podría tener un control llamadouxFirstName
. Esto tiene el beneficio adicional de que todos mis controles nombrados están bien agrupados en mi IDE.fuente
ux
prefijo en sí mismo la notación húngara? Tal vez el otro tipo (me olvido de los nombres de los dos) que indica significado y no tipo, pero sigue siendo una forma de húngaro ;-)apps hungarian
lo contrariosystems hungarian
. Las aplicaciones húngaras no se consideran tan dañinas como los sistemas, pero creo que el significado de 'lux' podría ser de un nivel demasiado alto para ser considerado aplicaciones. Supongo que se podría llamar capa húngara o algo así :)Sé que la gente no puede soportar la notación húngara en general, pero todavía la encuentro muy útil en muchos lugares. Para GUI, uso el prefijo wnd al menos.
El problema de no usar la notación húngara es simple, una vez que abandonas las aguas tranquilas de MSVS, la navegación se sumerge en la nariz. Ves algo así
SomeValue = SomeOtherValue
y no tienes idea de lo que está sucediendo a menos que busques cada maldita cosa. A través de grep o una buena búsqueda antigua, que generalmente mata la productividad allí mismo, los IDE que no sean QT y MSVS son realmente malos en las búsquedas.fuente