Buscar..


Introducción

Este tema describe algunas convenciones básicas de nomenclatura utilizadas al escribir en el lenguaje C #. Como todas las convenciones, el compilador no las impone, pero garantizará la legibilidad entre los desarrolladores.

Para conocer las pautas de diseño del marco .NET, consulte docs.microsoft.com/dotnet/standard/design-guidelines .

Observaciones

Elija nombres de identificadores fácilmente legibles

Por ejemplo, una propiedad llamada HorizontalAlignment es más legible en inglés que AlignmentHorizontal.

Favorecer la legibilidad sobre la brevedad.

El nombre de la propiedad CanScrollHorizontally es mejor que ScrollableX (una referencia poco ScrollableX al eje X).

Evite usar guiones bajos, guiones o cualquier otro carácter no alfanumérico.

No utilice la notación húngara

La notación húngara es la práctica de incluir un prefijo en los identificadores para codificar algunos metadatos sobre el parámetro, como el tipo de datos del identificador, por ejemplo, string strName .

Además, evite utilizar identificadores que entren en conflicto con las palabras clave que ya se utilizan en C #.

Abreviaciones y acronimos

En general, no debe utilizar abreviaturas o acrónimos; esto hace que sus nombres sean menos legibles. Del mismo modo, es difícil saber cuándo es seguro asumir que un acrónimo es ampliamente reconocido.

Convenios de capitalización

Los siguientes términos describen diferentes maneras de identificar los casos.

Pascal Casing

La primera letra del identificador y la primera letra de cada palabra concatenada subsiguiente están en mayúscula. Puede usar el caso de Pascal para identificadores de tres o más caracteres. Por ejemplo: BackColor

Carcasa de camello

La primera letra de un identificador es minúscula y la primera letra de cada palabra concatenada subsiguiente se escribe con mayúscula. Por ejemplo: backColor

Mayúsculas

Todas las letras en el identificador están en mayúscula. Por ejemplo: IO


Reglas

Cuando un identificador consta de varias palabras, no use separadores, como guiones bajos ("_") o guiones ("-"), entre palabras. En su lugar, utilice la caja para indicar el comienzo de cada palabra.

La siguiente tabla resume las reglas de uso de mayúsculas para los identificadores y proporciona ejemplos para los diferentes tipos de identificadores:

Identificador Caso Ejemplo
Variable local Camello nombre del coche
Clase Pascal AppDomain
Tipo de enumeración Pascal Nivel de errores
Valores de enumeración Pascal Error fatal
Evento Pascal ValueChanged
Clase de excepcion Pascal WebException
Campo estático de solo lectura Pascal RedValue
Interfaz Pascal IDisponible
Método Pascal Encadenar
Espacio de nombres Pascal Sistema.Dibujo
Parámetro Camello escribe un nombre
Propiedad Pascal BackColor

Se puede encontrar más información en MSDN .

Interfaces

Las interfaces deben nombrarse con sustantivos o frases nominales, o adjetivos que describan el comportamiento. Por ejemplo, IComponent usa un nombre descriptivo, ICustomAttributeProvider usa una frase de nombre e IPersistable usa un adjetivo.

Los nombres de la interfaz deben tener un prefijo con la letra I , para indicar que el tipo es una interfaz, y se debe usar el caso Pascal.

A continuación se muestran correctamente las interfaces con nombre:

public interface IServiceProvider
public interface IFormatable

Campos privados

Hay dos convenciones comunes para los campos privados: camelCase y _camelCaseWithLeadingUnderscore .

El caso de Carmel

public class Rational
{
    private readonly int numerator;
    private readonly int denominator;

    public Rational(int numerator, int denominator)
    {
        // "this" keyword is required to refer to the class-scope field
        this.numerator = numerator;
        this.denominator = denominator;
    }
}

Funda de camello con subrayado.

public class Rational
{
    private readonly int _numerator;
    private readonly int _denominator;

    public Rational(int numerator, int denominator)
    {
        // Names are unique, so "this" keyword is not required
        _numerator = numerator;
        _denominator = denominator;
    }
}

Espacios de nombres

El formato general para los espacios de nombres es:

<Company>.(<Product>|<Technology>)[.<Feature>][.<Subnamespace>].

Ejemplos incluyen:

Fabrikam.Math
Litware.Security

El prefijo de nombres de espacios de nombres con un nombre de compañía evita que los espacios de nombres de diferentes compañías tengan el mismo nombre.

Enums

Usa un nombre singular para la mayoría de Enums

public enum Volume
{
   Low,
   Medium,
   High
}

Utilice un nombre plural para los tipos Enum que son campos de bits

[Flags]
public enum MyColors
{
    Yellow = 1,
    Green = 2,
    Red = 4,
    Blue = 8
}

Nota: siempre agregue el FlagsAttribute a un tipo de bit de campo de bit.

No agregue 'enumeración' como sufijo

public enum VolumeEnum // Incorrect

No utilice el nombre de enumeración en cada entrada

public enum Color
{
    ColorBlue, // Remove Color, unnecessary
    ColorGreen,
}

Excepciones

Añadir 'excepción' como sufijo

Los nombres de excepción personalizados deben tener el sufijo "-Exception".

Debajo están las excepciones correctamente nombradas:

public class MyCustomException : Exception
public class FooException : Exception


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow