web-dev-qa-db-fra.com

Comment nommer un Java.util.Map?

J'ai un Java.util.Map qui correspond d'un nom logique à un ensemble de paramètres à utiliser avec ce nom.

Map<String,Parameters> howShouldINameThee = ...;

Quel est le meilleur nom pour cette carte?

Dois-je faire simple et appeler simplement ceci parameters ou parametersMap?

Dois-je inclure des informations sur la clé dans le nom comme paramtersByName afin que la façon d'utiliser la clé String soit plus évidente?

68
Alex B

Une carte mappe quelque chose à autre chose.
J'aime utiliser des noms comme uidToPerson. "To" étant le moyen le plus court et sans ambiguïté auquel je puisse penser pour montrer que j'ai une carte.

Éditer:
J'ajouterai que je préfère que la carte soit nommée de cette façon, car "clé" et "valeur" apparaissent dans cet ordre dans le nom. Par opposition à valueByKey. Dans les opérations de mappage, la clé vient en premier. Vous put(key, value) ou get(key) qui donne une valeur.

Bien sûr, c'est une question de préférence personnelle.

83
z5h

J'ai tendance vers quelque chose comme parametersByName pour ne laisser aucune confusion sur le contenu du Map. Vous ne savez jamais quand vous allez devoir revoir le code que vous n'avez pas regardé depuis longtemps.

En Java, je trouve inutile d'inclure le nom de la structure de données (comme parametersByNameMap) car le typage est explicite.

26
danben

Vous répondez à la question vous-même.

Quel est le meilleur nom pour cette carte?

Vous voulez mapper votre carte à un nom, vous dites donc "nom de la carte" !!

Cela devrait être la convention de dénomination, à mon avis: valueForKey.

Avec les autres suggestions keyToValue et valueByKey, je pense que vous devez ajouter le Word Map à la fin, comme ceci: keyToValueMap, valueByKeyMap. Lorsque vous utilisez For, il ressort de la langue qu'il s'agit d'un mappage.

8
eigil

Dans mes applications, il y aurait de nombreux types de paramètres.

Par exemple, dans GAE, lorsque j'ai besoin d'extraire les paramètres de demande http sous une forme sérialisable, je nomme la carte httpRequestParameters ou httpReqParams. sessionAttrs, par exemple.

Pour GWT RPC, hachage de paramètre client à serveur, je le nommerais client2ServerParams ou clnt2SrvrParms et nommerais le serveur2clientParams ou srvr2ClntParms.

Dans openid consumer, je nommerais la carte, consumerAuthRequests ou redirectFormParameters et son homologue providerResponses.

Dans la carte des arguments principaux de l'entrée reformatée, je l'appellerais inputArgs.

Dans mes cas, httpRequestParametersBy name, client2ServerParamsByName, consumerAuthRequestsByName, inputArgsByName ou inputArgValueByKey, etc. seraient redondants et trop longs car je saurais toujours que la clé de la carte est un "nom" de toute façon. Je m'assure juste que le nom est au pluriel pour me donner une idée qu'il s'agit d'une collection.

L'exception à cette pratique est lorsque la clé n'est pas un nom mais un objet que je nommerais la carte comme vehicleByDriver, projByMgr, toxicFoodListByAnimal.

1
Blessed Geek