Directrices de nomenclatura con C #
-
18-09-2019 - |
Pregunta
Tengo esta clase:
class DoSomething
{
private int timesDone;
...
}
¿Cuál es la manera correcta de 'timesDone' variable llamada?
A veces veo nombrados como m_timesDone . ¿Es esto correcto? ¿Dónde puedo encontrar información sobre directrices de nomenclatura?
Gracias!
Solución
De acuerdo con las normas de EM su código es correcto. Tener prefijos como m_ no es realmente necesario cuando se tiene IDE avanzado. Sin embargo prefijo corto como _ se puede utilizar para tomar ventaja de la función de auto completo para ordenar rápidamente miembros de la clase.
Yo recomendaría usted para obtener una copia de " marco directrices de diseño: Convenciones, modismos y Patrones para .NET reutilizable Bibliotecas " libro para aprender más sobre las normas de MS
Otros consejos
No hay forma de derecho universal. Eligió una convención de nomenclatura de su gusto y aferrarse a él.
Sin duda, no utilizar m_timesDone.
En pocas palabras "int timesDone privada".
Usted puede aprender sobre cómo nombrar las variables mediante la lectura de algunos libros buenos como código completo.
Muchas personas hacer lo que tiene allí. A continuación, hacer referencia a ella como
this.timesDone = someInt
Sin embargo, no me gusta esto porque no soy un fan de escribir 'esto' para evitar enfrentamientos con los nombres de los parámetros del método. Con tal de que sea legible y coherente que va a estar bien.
La convención de prologar campos miembros con m_ proviene de los primeros días de C ++, cuando notación húngara fue muy popular. No es una convención # C, y puesto que la mayoría de código C # está escrito utilizando una reciente Visual Studio añade ruido visual sin ninguna ventaja correspondiente, porque se puede ver fácilmente el alcance de una variable de todos modos. No utilice m_.
El ejemplo solitario de notación húngara que ha encontrado su camino en C # es la práctica de prologar nombres de las clases de interfaz con I, tales como IDisposable.
Puede encontrar información directamente en el sitio de MSDN: http://msdn.microsoft.com/en-us/library/ms229002. aspx
El único punto de acuerdo que se encuentra es que debe no sea TimesDown, sino que debe comenzar con una letra minúscula.
En publicaciones anteriores (MS, MSDN), no se recomienda el uso de un subrayado inicial. Más tarde se ha vuelto, en especial para backingfields de propiedades:. _TimesDown
La estrategia general adoptada es:
Clase & Método Pascal Carcasa
por ejemplo.
public class Program
{
}
por ejemplo
public void DoSomething() { }
En Variables : Camel Casing por ejemplo, timesDown
variables locales:
aTimesDown
variable global:
myTimesDown
Espero que esto puede ayudar a :)