2009-05-14 12 views
5

Se si dispone di un set di parole correlate (ad esempio Riga & Column o On & Off), come si trova la parola collettiva che descrive tali parole? Nello specifico, come si chiama enum?Denominazione dei tipi di enumerazione

Se ho "Rosso", "Verde" e "Blu", un nome enum ragionevole potrebbe essere "Colore". I valori di "On" e "Off" potrebbero avere un enumeroso nome di "Power". Ma come faccio a denominare l'enum che può avere un valore di "Row" o "Column"?


Coppia di buone risposte a "Che cosa è il nome una riga o colonna enum?" - Cartesiano e IndexType.

Che dire trovare parole collettive in generale - ci sono risorse là fuori o devi solo essere bravo in inglese/conoscere molte parole?

risposta

3

Per (Riga | Colonna) Io di solito uso 'IndexType' o qualcosa del genere. Come vedo la riga o le colonne di due diversi indici nella stessa struttura dati.

Mi trovo ad usarlo principalmente quando sto scrivendo una struttura dati basata su tabelle che ti permette di scrivere la maggior parte del tuo codice genericamente senza considerare se stai operando su righe o colonne, solo un intervallo di indici nella struttura dei dati. Quindi, per eseguire un'operazione specifica per riga o colonna, basta chiamare l'operazione generica con il tipo di indice specifico da utilizzare.

Funziona meglio se è ambito a una classe in modo che sia

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

La prima cosa che mi viene in mente è "cartesiana". Come in

public enum Cartesian 
{ 
    Row, Column 
} 

Il ragionamento alla base di questo è perché la riga/colonna suggerisce più da vicino le coordinate cartesiane di un sistema a griglia.

9

provare a utilizzare un nome che indica ciò che l'enum viene utilizzato per, per esempio

public enum CountMethod 
{ 
    Row, 
    Column 
} 
+0

Come fai a sapere che sta per essere contati? –

+0

Il punto era di dare un esempio in cui questo enum può essere usato. Se hai bisogno di righe o colonne per specificare in che modo l'utente visualizza i suoi dati, potrebbe essere enum ViewMode. – bbmud

+0

Per seguire l'esempio di colore, è possibile denominarlo qualcosa come PrintColors, ScreenColors, Palette, ecc. –

1

Volete un nome che descrive ciò che i singoli elementi all'interno del enum sono. Ad esempio la tua riga, l'esempio di colonna o entrambi gli elementi cartesiani, quindi Cartesiano sarebbe un buon nome per questo. Se avessi un elenco di parti per un negozio di hardware come enum, un buon nome sarebbe HardwareStoreParts, ecc. Se hai una enumerazione di cose come shoes, graphs, elephants, blue, pluto, Martha Stewart, allora stai facendo qualcosa di sbagliato. Se non riesci a pensare a un termine per gli elementi, forse stai cercando di forzare l'enum per adattarlo a qualcosa per cui non è fatto.

2

Una buona conoscenza del vocabolario inglese sarebbe utile per questo, ma ci sono una pletora di nomi collettivi nella lingua che persino la maggior parte dei madrelingua è completamente ignorante. Ad esempio, quante persone capiscono che il nome collettivo dei corvi è "omicidio"? Sting ha usato questa parola nella sua canzone "All This Time ...", btw.

Ho suggerito in origine cartesiano a causa delle coordinate analogiche a quelle cartesiane in matematica.La domanda accessoria, che dire parole collettivi, è interessante in sé e per sé, quindi a beneficio di tutti coloro che potrebbero desiderare di portata questo fuori, da Wikipedia:

Collective Nouns from A-H

Collective Nouns from I-Z

Forse c'è qualcosa che potrebbe innescare un buon nome enum!

+1

Tutti sanno di un omicidio di corvi. Era il titolo di un film di Cuba Gooding Jr. – Ken

+1

"Tutti" certamente non lo sanno. Non sapevo che Cuba Gooding Jr è apparso in un film di questo titolo. Potrebbero persino esserci persone che non sanno nemmeno chi sia Cuba Gooding Jr. – Cyberherbalist

1

Pensa a come verrà utilizzato. Quali proprietà o proprietà stai cercando di descrivere?

Il termine che stabilisci deve riflettere l'effettivo utilizzo dei valori. Dovrebbe essere naturale e in qualche modo immaginabile per gli utenti dell'API.

Per esempio, questi sono probabilmente abbastanza buono:

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

In questa stessa linea, credo Cartesian sarebbe una scelta terribile nella maggior parte dei casi. Il cartesiano non è né naturale né ipotetico, a meno che tu non abbia a che fare con una caratteristica grafica o qualcosa del genere.

+0

Vero, il cartesiano potrebbe essere un po 'troppo arcano per alcune persone (molte delle quali hanno da tempo dimenticato tutto ciò che avevano appreso in Algebra 101). Tendo a pensare in termini di tipi di griglie a cui un meme riga/colonna tende. – Cyberherbalist

+0

Principalmente ci sto arrivando dal punto di vista dell'utilizzo dell'API invece di limitarlo a progettarlo. Cartesian può sembrare perfetto per descrivere righe/colonne, ma è un po 'un salto mentale che va nella direzione opposta. Forse non importa così tanto con gli IDE intelligenti e intelligenti e tutto il resto, comunque. – Baldu

1

Altra possibilità:

public enum Mapping 
{ 
    Row, Column 
} 
6

C'è un software chiamato WordNet che è essenzialmente classificato ogni parola inglese in una gerarchia di classi complesse ed è un software costruito per esso, che può prendere due parole e restituire la loro prima superclasse comune (hypernym in wordnet language).

In questo caso, l'esecuzione di query per la parola rosso restituirebbe qualcosa come

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

Interrogazione per il blu dà

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

Così si sa, il modo più preciso per descrivere rosso o blu è ' colore cromatico

+0

Chiazza di petrolio! Grazie per aver postato questo! – Cyberherbalist

+0

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

1

Cerco di trovare un nome che abbia più senso quando l'enum viene effettivamente utilizzato. A seconda del contesto che potrebbe essere qualcosa di simile:

Table.ROW 

O qualcosa di diverso, come:

SortMode.ROW 
Problemi correlati