Ecco alcune idee. Nota: i concorsi di denominazione non sono molto adatti al formato StackExchange, ma la discussione sulla base delle scelte di denominazione potrebbe essere adatta se è possibile riepilogare principi utili.
La domanda è significativa in quanto ha un contesto specifico: una classe vettoriale 3D.
Mentre OP non aveva spiegato il caso d'uso preciso della classe o della libreria, si poteva facilmente immaginare che una classe simile potesse essere utile per la geometria 3D e lo spazio colore 3D (RGB / YCbCr).
Tuttavia, se la libreria deve essere estesa ad altri usi, come RGBA (trasparenza), geometria 3D proiettiva (proiettiva), meccanica rotazionale, ecc., è prevedibile che una classe vettoriale 3D sia insufficiente da sola.
Ad esempio, un'implementazione tipica ColorMatrix
è una matrice 5x5, con ogni colonna e riga associata a: rosso, verde, blu, alfa (opacità) e infine a termine costante. Le esigenze per le operazioni vettoriali in prospettiva 3D sono simili: un vettore 3D viene riempito con un quarto termine denominato "scala" o "divisore" e le operazioni vengono eseguite con matrice 4x4.
Pertanto, sarà necessario riflettere sulla futura estensibilità dei casi d'uso, o precluderli, quando si considerano i problemi di denominazione.
Un altro divertente (o non-problema) è se vorremmo distinguere tra vettori 3D di differenti significati fisici. Il caso più semplice è un vettore 3D nello spazio che rappresenta (x, y, z)
, rispetto a un vettore di colore 3D che rappresenta (r, g, b)
. Anche se questo è troppo facile da gestire nella maggior parte dei linguaggi di programmazione, devi ancora scegliere un disegno con attenzione.
Un altro problema specifico della lingua (prima di discutere il problema di denominazione) è l'operatore che sovrascrive le funzionalità di quel linguaggio. In particolare, se la libreria alla fine supporterà più lingue, ciò richiede un'attenta denominazione.
Oltre alle librerie menzionate sopra, si può anche prendere in considerazione:
Ora, la denominazione.
- Nomi alternativi per la moltiplicazione, come ad esempio:
- Parole che indicano l'elaborazione uno alla volta come prefisso / suffisso:
- Parole che indicano il parallelismo dei dati come prefisso / suffisso:
-
parfor
, par
, vec
- Nota: a volte, un prefisso a singola lettera potrebbe essere sufficiente:
- Intel SSE utilizza la lettera "P" per indicare le operazioni SIMD.
- AMD NEON utilizza la lettera "V" per indicare le operazioni SIMD.
- Combinazioni di tali parole:
-
elemMul
, parMul
, eachMul
, mulEach
, ecc.