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 se hace por mí.
Durante el desarrollo, seleccioné descuidadamente los tipos de datos para algunos procedimientos. Usé 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 en Stack Overflow, veo a muchas personas simplemente leyendo las preguntas que usan un cierto tipo de datos cuando otro es técnicamente "adecuado". Como usar una ArrayList porque no requiere límites definidos versus 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 lugar del adecuado, sigo el tutorial y utilizo los tipos de datos exactos sugeridos por la comunidad. Los resultados: lo mismo. Promedio 45 fps. Abrí todas las aplicaciones en la pestaña del teléfono y la galaxia. Ninguna diferencia.
Entonces, supongo que mi pregunta es la siguiente: ¿hay un umbral cuando ya no es importante ser apropiado? ¿Está bien decir: "mientras haga el trabajo, no me importa?"