Как мне назвать java.util.Map?
У меня есть java.util.Map
, который отображает из логического имени в набор параметров для использования с этим именем.
Map<String,Parameters> howShouldINameThee = ...;
Какое лучшее название для этой карты?
Должен ли я идти простым и просто называть это parameters
или parametersMap
?
Включить ли я информацию о ключе в имени типа paramtersByName
, так как использование клавиши String
более очевидно?
Ответы
Ответ 1
Карта отображает что-то на что-то еще.
Мне нравится использовать имена типа uidToPerson
. "Чтобы быть кратчайшим однозначным способом, я могу придумать, чтобы показать, что у меня есть карта.
Edit:
Я добавлю, что предпочитаю, чтобы карта называлась так, потому что в этом порядке в этом порядке появляются "ключ" и "значение". В отличие от valueByKey
. В картографических операциях ключ приходит первым. Вы put(key, value)
или get(key)
, который дает значение.
Конечно, это вопрос личных предпочтений.
Ответ 2
Я склоняюсь к чему-то вроде parametersByName
, чтобы не смущаться о том, что такое содержимое Map
. Вы никогда не знаете, когда вам придется пересмотреть код, который вы не просматривали в течение длительного времени.
В Java мне не нужно включать имя структуры данных (например, parametersByNameMap
), поскольку типизация явно.
Ответ 3
Вы действительно отвечаете на вопрос самостоятельно.
Какое лучшее название для этой карты?
Вы хотите сопоставить свою карту с именем, поэтому вы скажете "имя карты"!!
Это должно быть соглашение об именах, на мой взгляд: valueForKey.
С другими предложениями keyToValue и valueByKey, я чувствую, что вам нужно добавить слово Map в конце, например: keyToValueMap, valueByKeyMap. Когда вы используете Для него очевидно, что язык является отображением.
Ответ 4
В моих приложениях было бы довольно много типов параметров.
Например, в GAE, когда мне нужно извлечь параметры http-запроса в сериализуемую форму, я назову карту httpRequestParameters или httpReqParams. sessionAttrs, например.
Для GWT RPC, хэша параметра client-to-server, я бы назвал его client2ServerParams или clnt2SrvrParms и назовет его сервер server2clientParams или srvr2ClntParms.
В openid-потребителе я бы назвал карту, userAuthRequests или redirectFormParameters и ее партнеров-партнеров.
На карте переформатированного ввода Основные аргументы я бы назвал inputArgs.
В моих случаях имя httpRequestParametersBy, client2ServerParamsByName, userAuthRequestsByName, inputArgsByName или inputArgValueByKey и т.д. было бы лишним и слишком длинным, потому что я всегда знал, что ключ карты является "именем" в любом случае. Я просто убеждаюсь, что имя множественное, чтобы дать мне понять, что это коллекция.
Исключением для этой практики является то, что ключ не является именем, а объектом, чем я бы назвал карту, такую как vehicleByDriver, projByMgr, toxicFoodListByAnimal.