Ich habe in meiner Freizeit ein Android-Spiel entwickelt. Es benutzt die libgdx- Bibliothek, so dass ein Großteil der Arbeit für mich erledigt wird.
Während der Entwicklung habe ich für einige Verfahren achtlos Datentypen ausgewählt. Ich habe eine Hash-Tabelle verwendet, weil ich etwas in der Nähe eines assoziativen Arrays haben wollte. Vom Menschen lesbare Schlüsselwerte. An anderen Stellen verwende ich einen Vektor, um ähnliche Ergebnisse zu erzielen. Ich weiß, dass libgdx die Klassen vector2 und vector3 hat, aber ich habe sie nie benutzt.
Wenn ich auf seltsame Probleme stoße und nach Hilfe bei Stack Overflow suche, sehen ich viele Leute, die nur die Fragen reiben, die einen bestimmten Datentyp verwenden, wenn ein anderer technisch "richtig" ist. Wie die Verwendung einer ArrayList, da keine definierten Grenzen erforderlich sind, statt ein int [] mit neuen bekannten Grenzen neu zu definieren. Oder auch etwas Triviales wie dieses:
for(int i = 0; i < items.length; i ++)
{
// do something
}
Ich weiß, dass item.length bei jeder Iteration ausgewertet wird. Ich weiß jedoch auch, dass es niemals mehr als 15 bis 20 Artikel geben wird. Sollte es mich also interessieren, ob ich items.length bei jeder Iteration auswerte?
Ich habe einige Tests durchgeführt, um die Leistung der App mit der soeben beschriebenen Methode im Vergleich zur richtigen zu ermitteln. Befolgen Sie das Lernprogramm und verwenden Sie die genauen Datentypen, die von der Community vorgeschlagen wurden. Das Ergebnis: Gleiches. Durchschnitt 45 fps. Ich habe jede App auf dem Handy und dem Galaxy Tab geöffnet. Kein Unterschied.
Ich schätze, meine Frage an Sie lautet: Gibt es eine Schwelle, bei der es nicht mehr darauf ankommt, richtig zu sein? Ist es in Ordnung zu sagen - "Solange es die Arbeit erledigt, ist es mir egal?"