He estado construyendo un juego para Android en mi tiempo libre. Está utilizando la biblioteca libgdx , por lo que una gran parte del trabajo pesado ya está hecho para mí.
Durante el desarrollo, seleccioné sin cuidado los tipos de datos para algunos procedimientos. Utilicé una tabla hash porque quería algo cercano a una matriz asociativa. Valores clave legibles por humanos. En otros lugares para lograr cosas similares, uso un vector. Sé que libgdx tiene clases vector2 y vector3, pero nunca las he usado.
Cuando me encuentro con problemas extraños y busco ayuda de Desbordamiento de pila, veo que muchas personas simplemente resienten las preguntas que usan un determinado tipo de datos cuando otro es técnicamente "correcto". Como usar un ArrayList porque no requiere límites definidos en lugar de redefinir un int [] con nuevos límites conocidos. O incluso algo trivial como este:
for(int i = 0; i < items.length; i ++)
{
// do something
}
Sé que evalúa item.length en cada iteración. Sin embargo, también sé que los artículos nunca serán más de 15 a 20 artículos. Entonces, ¿debería importarme si evalúo items.length en cada iteración?
Realicé algunas pruebas para ver cómo funciona la aplicación utilizando el método que acabo de describir en comparación con el correcto, siga el tutorial y use los tipos de datos exactos sugeridos por la comunidad. Los resultados: Lo mismo. Promedio de 45 fps. Abrí todas las aplicaciones en la pestaña del teléfono y la galaxia. No hay diferencia.
Así que supongo que mi pregunta es esta: ¿hay un umbral cuando ya no importa ser apropiado? ¿Está bien decir que "mientras se haga el trabajo, no me importa?"