Domanda

Ho una struttura di nome WaveSize per rappresentare sia una quantità di campioni o una quantità di tempo, ma sto utilizzando anche tale struttura per rappresentare una posizione o un offset all'interno di un'onda.

Mentre è abbastanza comune per rappresentare entrambe le dimensioni e le posizioni all'interno di un sistema di coordinate con un tipo Vector2D, io sono in grado di trovare un buon nome abbastanza astratto per rappresentare lunghezze d'onda e onda posizioni / offset.

Trovo strano vedere qualcosa di simile:

public WaveSize Size { get; }
public WaveSize Offset { get; }

preferirei venire con un buon nome che la creazione di classi vuote o usando 'usando'.

Ogni suggerimento sarà molto apprezzato. Grazie in anticipo.

EDIT:. Come Reed Copsey & Marc Gravel ha suggerito che fa un sacco di senso avere due classi diverse in quanto si tratta di due concetti diversi, così, eventuali somiglianze nel codice dovrebbero essere visti come semplici coincidenze

È stato utile?

Soluzione

Vorrei avere due le strutture separate e effettuare conversioni facile tra di loro.

Si sta cercando di rappresentare due concetti qui, uno per la posizione, e uno per le dimensioni. Dal momento che si tratta di due idee concettualmente distinte, farei loro due strutture.

Sono anche d'accordo con di Marc Gravell risposta per quanto riguarda le strutture / dimensione in punti del BCL. Penso che siano un buon modello da seguire.

Altri suggerimenti

Si potrebbe paragonare alle WinForms Point e Size strutture ... hanno deciso che, anche se sono simili, per tenerli separati. Ha senso al senso algebrico:

Point - Point = Size
Point + Size = Point
Size + Size = Size
Point + Piont = ???? error (no defined operator)

etc

vettore d'onda?

Potrebbe avere una struct chiamato semplicemente Wave e quindi dimensioni e offset si adatterebbe perfettamente nel nome più generale? Spero che non avete un Saluto Struct già:)

Non è il nome usuale per la 'compensazione' lo sfasamento?

probabilmente sarei andare con WaveProperties, davvero.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top