70Fermer72
BrunniLe 24/02/2011 à 18:58
./67> Ben oui. Je ne parle pas de faire du JNI et dérouler les boucles, mais de s'assurer que ce que tu fais soit efficace, surtout si c'est prévu pour être réutilisé. On a une architecture sur laquelle vont attaquer potentiellement des millions de clients, donc si ce n'est pas efficace tu vas le sentir.
Pour le coup de l'exception dans l'absolu on s'en fout pas mal, et ça va très bien pour un truc vite codé. Sauf que c'est pas malin d'éduquer les gens à faire comme ça.
Pour moi savoir dealer correctement avec ces patterns de base c'est une question d'habitude, et ça donne une idée de la qualité du codeur.
Un pote m'avait fait la même réflexion quand il y a 2 ans j'avais écrit un truc du genre pour attribuer un ordre aléatoire à une liste de N tableaux de jeu:
boolean[] used = new boolean[N];
int[] order = new int[N];
for (int i = 0; i < N; i++) {
    int r;
    do r = (int)(Math.random() * N);
    while (used[r]);
    used[r] = true;
    order[i] = r;
}

Et en effet, même si en pratique ça ne causera pas de problème, ne pas être capable de garantir un temps d'exécution borné sur une tâche aussi basique, c'est carrément lame. Imagine seulement comment je m'en sortirais sur des trucs plus complexes...