我应该如何命名一个java.util.Map?

我有一个java.util.Map映射从逻辑名称到一组参数使用该名称。

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

这幅地图的名字是什么?

我应该去简单,只是调用这个parametersparametersMap

我是否像paramtersByName这样的名称中包含关键字的信息,以便如何使用String键更明显?

一张地图将东西映射别的东西上。
我喜欢使用像uidToPerson这样的uidToPerson 。 “为了”是我能想到的最短的,毫不含糊的方式,以表明我有一张地图。

编辑:
我会补充一点,我更喜欢用这种方式命名地图,因为“key”和“value”按名称顺序出现。 而不是valueByKey 。 在绘图操作中,关键是首先。 你put(key, value)get(key)给出一个值。

当然这是个人喜好的问题。

我倾向于像parametersByName这样的东西,不要混淆了什么是Map的内容。 你永远不知道什么时候你将不得不重新访问你很久没有看过的代码。

在Java中,我发现没有必要包含数据结构的名称(比如parametersByNameMap ),因为键入是明确的。

你实际上自己回答这个问题。

这幅地图的名字是什么?

你想映射你的地图到一个名字,所以你说'名称为地图'!

这应该是命名约定,在我看来: valueForKey

与其他build议keyToValue和valueByKey,我觉得你需要在末尾添加单词地图,如:keyToValueMap,valueByKeyMap。 在使用时,从语言上可以看出它是一个映射。

在我的应用程序中会有很多types的参数。

例如,在GAE中,当我需要将http请求参数提取为一个可序列化的forms时,我将地图命名为httpRequestParameters或httpReqParams。 sessionAttrs,例如。

对于GWT RPC,客户端到服务器参数散列,我将其命名为client2ServerParams或clnt2SrvrParms,并命名对应的server2clientParams或srvr2ClntParms。

在openid消费者中,我会将地图,consumerAuthRequests或redirectFormParameters及其对应的providerResponses命名。

在重新格式化inputMain参数的映射中,我将其称为inputArgs。

在我的情况下,httpRequestParametersBy名称,client2ServerParamsByName,consumerAuthRequestsByName,inputArgsByName或inputArgValueByKey等将是多余的和太长,因为我总是知道地图的关键是一个“名称”无论如何。 我只是确定这个名字是复数,给我一个暗示它是一个集合。

这种做法的例外是,当关键不是一个名字,而是一个对象,比我将地图命名为vehicleByDriver,projByMgr,toxicFoodListByAnimal。