2011-07-21 34 views
8

Me preguntaba cuál es la mejor manera de nombrar una variable en C#? Sé que hay varias maneras diferentes, pero me preguntaba ¿por qué algunas personas prefieren una sobre la otra?C# Nombre de variable

Tiendo a usar una letra minúscula que representa el tipo (¿creo que este es el método húngaro?) Pero a mucha gente no le gusta esto, ¿cuál es la mejor manera?

Ejemplo:

string sMyString 
string MyString 
string myString 
string mystring 

Gracias

+0

pregunta trivial, definitivamente discutida ... http://stackoverflow.com/questions/203618/how-to-name-variables –

Respuesta

19

La convención más común que he visto con C# al nombrar campos y variables locales es camel case:

string myString 

Here son las directrices de Microsoft para su capitalización en C#. Indican (entre otros):

Las siguientes pautas proporcionan las reglas generales para los identificadores.

Utilice la carcasa de Pascal para todos los miembros públicos, tipos y nombres de espacios de nombres compuestos por varias palabras.

Tenga en cuenta que esta regla no se aplica a los campos de instancia. Por razones que se detallan en las Pautas de diseño para miembros, no debe usar campos de instancias públicas.

Utilice la carcasa camel para los nombres de los parámetros.


Yo añadiría que esto es algo que debe ser acordado con los miembros de su equipo.

+2

Es extraño que la lista no incluya variables locales. Son diferentes a los parámetros y propiedades. Asumiría que intentan nombres de variables para unir nombres de parámetros y usar camel case. –

1

me iría a string myString, que es la normal de C# manera. Si observa los ejemplos en la documentación de MSDN para .NET/C#, rápidamente tendrá una idea de las mejores prácticas.

Las variables locales son camelCased. La notación húngara se considera una mala práctica en un tipo de lenguaje seguro. El sistema tipográfico se encarga de conocer el tipo para usted.

+1

La notación húngara es generalmente solo se considera una mala práctica por aquellos que no entienden la notación húngara. ** No ** significa que denota el tipo de sistema de la variable. – fearofawhackplanet

+1

@fearofawhackplanet: tienes razón en que si se usa como se pensó originalmente, es bueno. Sin embargo, la notación húngara ha llegado a significar denotar el tipo. Si se usa de la manera correcta, acepto que sea bueno; consulte, por ejemplo, http://www.joelonsoftware.com/articles/Wrong.html para obtener un buen artículo sobre el tema. –

6

La tendencia a largo emergente es a lo largo de las líneas de

string meaningfulNameOfVariable; 

con el caso de camellos, y los nombres claros que son realmente significativo para usted, su contexto, y para otros desarrolladores.

+2

+1 para resaltar la importancia de un nombre de variable significativo. –

0

En la práctica, esta es la cuestión de acuerdo) de nombres se convierte en un problema cuando todos en el departamento escribe por su propia visión)

uso ReSharper o herramientas similares con propiedades misma denominación convenio dentro de su departamento)

3

Me referiría al MSDN guidelines.Mi práctica es, al menos donde he trabajado, string myDescriptiveStringName para variables locales y private string _myDescriptiveStringName para variables de clase. Para las propiedades, sería public string MyDescriptiveStringName { get; set; }

Pero, la mayoría de las organizaciones siguen (o al menos deberían) ciertas convenciones. Mejor no desviarse de esas pautas a menos que desee estar en el banquillo durante las revisiones por pares. ;-) Hay algunas excepciones para desviarse, por supuesto.

+1

He visto guiones bajos utilizados en proyectos, pero no debería hacerlo si se apega a las convenciones de nomenclatura "No use guiones bajos, guiones ni ningún otro carácter no alfanumérico". [Convenciones de nomenclatura generales] (http://msdn.microsoft.com/en-us/library/vstudio/ms229045 (v = vs.100) .aspx) – Coops

0

Depende de diferentes cosas ... Si está codificando por su cuenta, puede utilizar lo que usted prefiere ... Normalmente creo que la mayoría de los desarrolladores de C# prefieren caso de camellos ...

Si usted está trabajando para una empresa, etc. que tiene que cumplir con sus estándares de codificación ...

creo que lo más importante es que los nombres de las variables deben ser más o menos fácil de leer y que es el objetivo final de la mejor variable de nombres ...

Cuestiones relacionadas