Charla sobre desarrollo .NET (C#): sobre la denominación y los atributos de las variables
Las funciones de las variables estáticas de solo lectura y constantes son las mismas, independientemente de si el modificador de acceso es público u otro (los nombres de las variables privadas protegidas generalmente están en mayúsculas con un guión bajo en el medio). >
public static readonly int MAX_HEIGHT; public const int MIN_HEIGHT = ;
Algunos programadores no son sensibles a las mayúsculas. En el ejemplo anterior, no es mala idea reemplazar MAX_HEIGHT con Max_Height. también se puede definir en la biblioteca de clases Net int MaxValue e int MinValue
Una constante constante es más precisamente una constante en tiempo de compilación porque no existe en tiempo de ejecución. Todas las referencias a variables serán reemplazadas por valores reales. Durante la compilación, mientras que la lectura estática existirá en tiempo de ejecución. En principio, en términos de eficiencia, const es mejor que la lectura estática. Sin embargo, en un proyecto relativamente reciente, si el valor de una variable constante se cambia durante una actualización parcial. del dll, y el dll no actualizado también tiene esta variable constante, será obvio que el problema será No vale la pena actualizar todos los dll debido a esto, se recomienda usar solo lectura estática en lugar de const en grande y variable. aplicaciones La pérdida insignificante de eficiencia es aceptable en comparación con los problemas que pueden surgir al actualizar el diseño.
Además de los dos anteriores, excepto las variables estáticas de solo lectura y constantes, otros nombres de variables comienzan con un. guión bajo y el modificador de acceso es privado (no se recomienda nombrarlo interno protegido, y mucho menos público)
private static int _maxHeight privado int _minHeight; precedido por un guión bajo, es fácil confundirse con variables de parámetros
Para la siguiente definición
private int _minHeight = default(int public int MinHeight {set{?_minHeight =); value;} get{?return _minHeight;} }
Los principiantes pueden sentir que es un poco superfluo y es mejor nombrarlo directamente
public int MinHeight; simple ¿Por qué necesitamos encapsular llamadas a funciones adicionales con getters y setters, lo que también daña la eficiencia?
A veces, cuando desarrollamos un proyecto, lo que queremos dibujar al principio puede ser solo una serpiente, pero más adelante. en el proyecto, las necesidades cambian y dibujamos otro. Es un dragón, por lo que es una visión de futuro agregar un par de patas al dibujar una serpiente en las primeras etapas del proyecto.
Getters y setters ( Los descriptores de acceso de propiedad) pueden encapsular métodos similares a la lógica y usarse como variables. Se recomienda para todas las constantes de solo lectura no estáticas y se definen como privadas y luego se les agregan los descriptores de acceso de atributos correspondientes para su asignación y lectura en otros cuerpos de métodos (incluso externos). (la clase y dentro de la clase) no se recomienda leer y escribir variables directamente, incluso si se pueden leer y escribir directamente llamando al descriptor de acceso de propiedad es un poco engorroso, pero los veteranos a veces cometen errores como se muestra a continuación.
private int _minHeight = int MinValue; public int MinHeight//o protected internal o incluso Es privado {set{?_minHeight = value;?//Incluso si actualmente no hay otra lógica de procesamiento aquí} get{ ?return _minHeight;}
} Método public void (int minHeight) {this MinHeight = minHeight;//No use este _minHeight para leer y escribir directamente aquí// }
Incluso si el acceso a la variable está protegido o es privado, usando accesores de atributos lishixinzhi/Article/program/net/201311/15697