Quote:
|
Originariamente inviato da cisc
cmq, nella classe SoundException, la soluzione dello switch era molto più semplice ed efficiente di quella attuale che usa una Map, infatti vorrei far notare come la chiave della Map è un oggetto Integer, quindi qualcosa del tipo errorMap.get(err) viene tradotto in errorMap.get(new Integer(err)) per effetto dell'autoboxing, che è una nuova funzionalità di java 5.0 che però non è molto efficiente
|
Per quanto riguarda la semplicita', abbiamo metriche abbastanza precise, e secondo le metriche la nuova versione e' piu' semplice. Ci atteniamo a queste.
Per quanto riguarda la efficienza, beh, portami un profiling del gioco che mostra l'autoboxing come una delle tre funzioni che portano via piu' tempo cpu durante il main loop e possiamo parlarne
Altrimenti teniamo la versione piu' semplice, perche'
non facciamo mai considerazioni di carattere prestazionale durante il design. Soprattutto se non sono supportate da misure.
La logica dietro a questa scelta e' che non e' sensato perdere in leggibilita' e qualita' del codice per guadagnare qualche microsecondo se e quando un file sonoro non verra' trovato, situazione dopo la quale bloccheremo comunque l'esecuzione. Mentre il codice verra' letto in continuazione.