2009-09-08 11 views
5

Tengo una enumeración # C que tiene este aspecto:¿Existe una convención de nomenclatura para los valores enum que tienen un dígito inicial?

public enum EthernetLinkSpeed { 

    [Description("10BASE-T")] 
    _10BaseT, 

    [Description("100BASE-T")] 
    _100BaseT, 

    [Description("1000BASE-T")] 
    _1000BaseT, 

    [Description("Disconnected")] 
    Disconnected 
} 

he añadido un subrayado inicial a cada valor de hacer feliz al compilador.

¿Existe una convención de nomenclatura estándar para enumeraciones como esta? El guión bajo que he usado no parece ser la mejor opción.

+0

Uso los guiones bajos también. –

+0

Si el eNum real no está siendo expuesto a una vista pública, ¿a quién le importa cómo se llama, siempre que el código funcione? –

+1

@Peter M: otros desarrolladores que tienen que mantener el código más adelante. Y por cierto: "enum pública EthernetLinkSpeed" significa que la enumeración es visible para una vista pública. – mmmmmmmm

Respuesta

11

No conozco ninguna convención, pero ¿qué hay de

public enum EthernetLinkSpeed { 
Link10BaseT, Link1000BaseT, LinkDisconnected 
} 
+0

+1 En C y en Linux, las enumeraciones de puertos serie usan este tipo de prefijo (a veces más corto): las velocidades en baudios se llaman Bxxxxx donde xxxxx es la velocidad (constante entera): B9600 es una velocidad de 9600 baudios. De todos modos, la idea es la misma: un pequeño prefijo que ayuda a identificar el contenido. –

+0

Seleccioné esta sugerencia como la respuesta para mi ejemplo particular, sin embargo, el consenso general parece ser que es necesario un prefijo estándar de algún tipo. – user158485

1

no estoy seguro de si hay una convención, pero algo como esto puede ser subjetivamente menos 'fea':

public enum EthernetLinkSpeed { 

    [Description("10BASE-T")] 
    TenBaseT, 

    [Description("100BASE-T")] 
    OneHundredBaseT, 

    [Description("1000BASE-T")] 
    OneThousandBaseT, 

    [Description("Disconnected")] 
    Disconnected 
} 
4

Solo busco algo más descriptivo en este caso. Por ejemplo, ya que tiene un valor de enumeración "desconectado", me gustaría utilizar algo como:

public enum EthernetLinkSpeed { 
    Connected10BaseT, 
    Connected100BaseT, 
    Connected1000BaseT, 
    Disconnected 
} 

ya que estos son en tiempo de compilación única, no hay daño en disponer de ellos, siempre se quiere, incluso si haciéndolos mucho solo significa hacerlos lo suficientemente descriptivos para pasar las reglas de denominación del compilador.

2
No

una respuesta directa, pero la incorporada en NetworkInterfaceType enumeración incluye los siguientes valores:

Ethernet, Ethernet3Megabit, FastEthernetT, FastEthernetFx, GigabitEthernet 

Es un poco feo para mi gusto, pero me podría considerar el uso de un prefijo Ethernet para su enumeración:

public enum EthernetLinkSpeed 
{ 
    [Description("10BASE-T")] 
    Ethernet10BaseT, 

    [Description("100BASE-T")] 
    Ethernet100BaseT, 

    [Description("1000BASE-T")] 
    Ethernet1000BaseT, 

    [Description("Disconnected")] 
    Disconnected 
} 
+0

Definitivamente no es la denominación que elegiría ... – mmmmmmmm

0

Como se ha notado, los nombres son importantes. Entonces, a veces es bueno explorar alternativas no obvias.

Una alternativa completamente diferente:

public enum EthernetLinkSpeed { 

    [Description("10BASE-T")] 
    MegabitSlow, 

    [Description("100BASE-T")] 
    MegabitFast, 

    [Description("1000BASE-T")] 
    Gigabit, 

    [Description("Disconnected")] 
    Disconnected 
} 
1

Por lo general, con prefijo 'e'

public enum EthernetLinkSpeed 
{ 
    e10BaseT, 
    e100BaseT, 
    e1000BaseT, 
    Disconnected 
} 

Nos ocupamos de una gran cantidad de resoluciones de vídeo de 720p, etc, por lo que utilizar e720p. En su caso, creo que el uso de los nombres puede ser mejor, Ethernet, FastEthernet y GigabitEthernet.

0

Nunca está de más agregar un prefijo único a todas las enumeraciones relacionadas. Si nada más, ayuda con la búsqueda/reemplazo de edición de su código fuente en el futuro.

Cuestiones relacionadas