Pregunta Los nombres de las variables no deben comenzar con 'm_': Regla 1308 de StyleCop: ¿Por qué se considera una práctica mala (o no buena / estándar)?


Comencé a usar StyleCop y me da una advertencia donde haya una variable declarada como m_VariableName.

El mensaje de advertencia es: Variable names must not start with 'm_'. Esta es la regla de StyleCop SA1308.

Puedo desactivar esta regla. Pero

1) Me gustaría saber por qué es una mala práctica o si se considera una mala práctica para declarar nombres de variables que comienzan con 'm_'.

2) ¿El carácter de subrayado tiene un significado especial para la refactorización de Visual Studio? (Lo escuché de uno de los desarrolladores senior.)


5
2018-04-20 07:23


origen


Respuestas:


Las reglas predeterminadas de StyleCop siguen el Estilo de codificación Microsoft C #.

Estos incluyen no usar m_ como un prefijo (visto como Notación húngara)

Si su equipo no sigue estas pautas de estilo y tiene las suyas propias, no dude en desactivar la regla.


8
2018-04-20 07:30



Simplemente coincide con la de Microsoft Pautas de denominación para los campos:

No use un prefijo para nombres de campo. Por ejemplo, no use g_ o s_ para distinguir campos estáticos y no estáticos.

Creo que fue parte de la purga general de Húngaro que Microsoft intentó implementar cuando introdujeron .NET.

Pero como con todo lo relacionado con el estilo de codificación, si no encaja con lo que usted y / o su equipo se sienten cómodos, entonces no lo use.


5
2018-04-20 07:34



No creo que sea una mala práctica, personalmente prefiero escribir y leer m_banana que this.banana. StyleCop tiene algunos códigos por defecto convenciones para verificar, y si no te gustan, o ya estás usando otras convenciones, desactiva las advertencias o escribe tus reglas personalizadas.


3
2018-04-20 07:29



No estoy completamente seguro de esto, pero algunos desarrolladores tienden a prefijar los nombres de los campos de objeto con m_. Si abre el reflector, verá que es una práctica común en el código de Microsoft.

Muchos libros también contienen ejemplos como ese.

Ahora, ¿por qué es una mala práctica ... No tengo idea :) Yo personalmente no hago eso y siempre prefijo los campos con el this palabra clave.


0
2018-04-20 07:28