Ho costruito un gioco per Android nel mio tempo libero. Sta usando la libreria libgdx per cui viene fatto un bel po 'di lavoro.
Durante lo sviluppo, ho selezionato con cura i tipi di dati per alcune procedure. Ho usato un hashtable perché volevo qualcosa vicino a un array associativo. Valori chiave leggibili dall'uomo. In altri posti per ottenere cose simili, uso un vettore. So che libgdx ha classi vector2 e vector3, ma non li ho mai usati.
Quando mi imbatto in strani problemi e cerco Stack Overflow di aiuto, vedo un sacco di persone che alano le domande che usano un determinato tipo di dati quando un altro è tecnicamente "corretto". Come usare un ArrayList perché non richiede limiti definiti rispetto alla ridefinizione di un int [] con nuovi limiti noti. O anche qualcosa di banale come questo:
for(int i = 0; i < items.length; i ++)
{
// do something
}
So che valuta item.length su ogni iterazione. Tuttavia, so anche che gli oggetti non saranno mai più di 15 o 20 articoli. Quindi dovrei preoccuparmi se valuto items.length su ogni iterazione?
Ho eseguito alcuni test per vedere come viene eseguita l'app utilizzando il metodo appena descritto rispetto a quello corretto, segui il tutorial e utilizzi i tipi di dati esatti suggeriti dalla community. I risultati: stessa cosa. Media 45 fps. Ho aperto ogni app sul telefono e sulla scheda galassia. Nessuna differenza.
Quindi immagino che la mia domanda per te sia questa: esiste una soglia quando non è più importante essere corretta? Va bene dire che "fino a quando il lavoro viene completato, non mi interessa?"