Demande d'explication d'un code java

mimazeft Messages postés 6 Date d'inscription mardi 28 décembre 2010 Statut Membre Dernière intervention 16 mars 2013 - 26 janv. 2011 à 22:47
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 27 janv. 2011 à 07:49
s'il vous plaît j'ai besoin d'une explication pour le code suivant:


private int GetIndexOf(String Message)
{
int m_listSize = ListArray.size();
for(G_ILoop = 0 ; G_ILoop < m_listSize; G_ILoop++)
{
messageobject = (MessageObject) ListArray.get(G_ILoop);
if(messageobject.Message.equals(Message))
return G_ILoop;
}

return -1;

}

1 réponse

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
27 janv. 2011 à 07:49
Salut,

C'est un code qui est très mal codé (sûrement par quelqu'un qui débute en java et qui ne maîtrise pas toute la subtilité du langage) : non respect des standards de nomenclature de java, utilisation d'une variable globale à l'intérieur d'une boucle locale (à éviter à tout prix !), utilisation de cast plutôt que d'utiliser la généricité des collections java, utilisation d'une boucle for plutôt que de passer par un itérateur, nom de variable non approprié, bref, un code fait avec les pieds à jeter à la poubelle et à reécrire.

Voici une version corrigée plus rigoureuse mais pas parfaite : il manque de renommer la variable globale listArray qui ne devrait pas contenir l'implémentation choisie dans son nom de variable :
Code Java :

private int indexOf(String message) {
int index = -1;
for(MessageObject messageObject : listArray) {
index++;
if(messageobject.getMessage().equals(message)) {
return index;
}
}
return -1;
}



Sinon, que fait ce code ? Il est sensé te retourner l'index de l'objet dont la propriété "message" est égale au paramètre "message" que tu spécifie à l'appel de ta fonction
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
Rejoignez-nous