2009-05-14 18 views
5

Si tiene un conjunto de palabras relacionadas (por ejemplo, Fila & Columna o En & Apagado), ¿cómo encuentra la palabra colectiva que describe esas palabras? Específicamente, ¿cómo se nombra una enumeración?Denominación de tipos de enumeración

Si tengo "Rojo", "Verde" y "Azul", un nombre de enum sensible podría ser "Color". Los valores de "Encendido" y "Apagado" pueden tener un nombre de enum sensible de "Poder". Pero, ¿cómo puedo nombrar la enumeración que puede tener un valor de "Fila" o "Columna"?


Un par de buenas respuestas a "¿Cómo se llama una enumeración de Fila o Columna?" - Cartesiano e IndexType.

¿Qué hay de encontrar palabras colectivas en general? ¿Hay algún recurso por ahí o simplemente tienes que ser bueno en inglés/saber muchas palabras?

Respuesta

3

For (Row | Colum) Suelo usar 'IndexType' o algo así. Como veo la fila o las columnas son dos índices diferentes en la misma estructura de datos.

Me encuentro utilizándolo principalmente cuando estoy escribiendo una estructura de datos basada en tablas que le permite escribir la gran mayoría de su código genéricamente independientemente de si está operando en filas o columnas, solo un rango de índices en la estructura de datos. Luego, para realizar una operación específica de fila o columna, simplemente llama a la operación genérica con el tipo de índice específico que se va a utilizar.

Funciona mejor si se está en el ámbito de una clase para que sea

Table.IndexType or Grid.IndexType (etc.) 
2

La primera cosa que viene a la mente es "cartesiana". Al igual que en

public enum Cartesian 
{ 
    Row, Column 
} 

El razonamiento detrás de esto se debe a que la fila/columna sugiere más estrechamente las coordenadas cartesianas de un sistema de red.

9

trate de usar un nombre que indica lo que la enumeración se utiliza para, por ejemplo

public enum CountMethod 
{ 
    Row, 
    Column 
} 
+0

¿Cómo sabe que va a ser contado? –

+0

El punto era dar un ejemplo donde esta enumeración se puede utilizar. Si necesita filas o columnas para especificar cómo ve el usuario sus datos, podría ser ViewMode enum. – bbmud

+0

Para seguir el ejemplo de Color, podría ponerle un nombre como PrintColors, ScreenColors, Palette, etc. –

1

desea un nombre que describe lo que los elementos individuales dentro de la enumeración son. Por ejemplo, su fila, ejemplo de columna o ambos elementos cartesianos, por lo que cartesiano sería un buen nombre para él. Si tuviera una lista de piezas para una ferretería como una enumeración, un buen nombre sería HardwareStoreParts, etc. Si tiene una enumeración de cosas como shoes, graphs, elephants, blue, pluto, Martha Stewart, entonces está haciendo algo mal. Si no puede pensar en un término para los artículos, quizás intente forzar a la enumeración a que se ajuste a algo para lo que no está hecho.

2

Un buen conocimiento del vocabulario en inglés sería útil para esto, pero hay una plétora de sustantivos colectivos en el idioma que incluso la mayoría de los hablantes nativos son completamente ignorantes. Por ejemplo, ¿cuántas personas saben que el sustantivo colectivo para cuervos es "asesinato"? Sting usó esta palabra en su canción "All This Time ...", por cierto.

Sugerí originalmente cartesiano debido a las coordenadas analógicas a cartesianas en matemáticas.La cuestión accesoria, ¿qué pasa con las palabras colectivas, es interesante de por sí, por lo que para el beneficio de cualquier persona que quisiera alcance esto, de Wikipedia:

Collective Nouns from A-H

Collective Nouns from I-Z

tal vez hay algo allí que podría desencadenar un buen nombre enum!

+1

Todo el mundo sabe acerca de un asesinato de cuervos. Era el título de una película de Cuba Gooding Jr. – Ken

+1

"Todos" ciertamente no lo saben. No sabía que Cuba Gooding Jr apareció en una película de este título. Incluso puede haber personas que ni siquiera saben quién es Cuba Gooding Jr. – Cyberherbalist

1

Piensa cómo se usará. ¿Qué propiedad o propiedades estás buscando describir?

El término que elija debe reflejar el uso real de los valores. Debería ser natural y algo adivinable para los usuarios de la API.

Por ejemplo, estos son probablemente bastante bueno:

widget.IndexMethod = IndexMethod.Row 
widget.CountBy = CountMethod.Column 

En esta misma línea, creo Cartesian sería una elección horrible en la mayoría de las circunstancias. El cartesiano no es natural ni adivinable, a menos que se trate de una función de gráficos técnicos o algo así.

+0

Es cierto que el cartesianismo puede ser un poco demasiado arcano para algunas personas (muchas de las cuales han olvidado hace mucho tiempo todo lo que aprendieron en Algebra 101). Tiendo a pensar en términos de los tipos de cuadrículas a las que tiende un meme de fila/columna. – Cyberherbalist

+0

Casi siempre lo hago desde la perspectiva de usar la API en lugar de simplemente diseñarla. El cartesiano puede parecer una opción perfecta para describir filas/columnas, pero es un salto mental en la otra dirección. Tal vez no importe tanto con IDE inteligentes e inteligentes y todo eso, sin embargo. – Baldu

6

Hay un software llamado WordNet que ha clasificado en esencia cada palabra Inglés en una jerarquía de clases compleja y ha construido software para él que puede tomar dos palabras y volver a su superclase común más antiguo (hypernym en el lenguaje de wordnet).

En este caso, las consultas a la palabra roja devolvería algo así como

red, redness 
    => chromatic color, chromatic colour, spectral color, spectral colour 
     => color, colour, coloring, colouring 
      => visual property 
       => property 
        => attribute 
         => abstraction, abstract entity 
          => entity 

Consulta para el azul da

blue, blueness 
    => chromatic color, chromatic colour, spectral color, spectral colour 
     => color, colour, coloring, colouring 
      => visual property 
       => property 
        => attribute 
         => abstraction, abstract entity 
          => entity 

Así que ya saben, la forma más precisa para describir el rojo o el azul es ' color cromático '

+0

¡Deslizante! ¡Gracias por publicar eso! – Cyberherbalist

+0

http://wordnetweb.princeton.edu/perl/webwn – demoncodemonkey

1

Intento encontrar un nombre que tenga más sentido cuando se use realmente la enumeración. Dependiendo del contexto que podría ser algo como:

Table.ROW 

O algo bastante diferente como:

SortMode.ROW 
Cuestiones relacionadas