Вид вопроса об английском языке: использование множественного числа в первой части имени идентификатора - PullRequest
5 голосов
/ 17 февраля 2011

Будучи не носителем английского языка, я часто задаюсь вопросом об использовании формы множественного числа в начальной части (частях) имен существительных при именовании классов или объектов.

Например:

  • Если у меня есть интерфейс к нескольким [потоковым] игрокам, неплохо было бы назвать его по-английски PlayersInterface, в отличие от PlayerInterface, который является интерфейсом для одного игрока?

  • Если есть служба, которая обрабатывает события, можно ли назвать ее EventsService? Или EventService звучит значительно лучше?

Спасибо за помощь!

EDIT:

  1. Очевидно, что в .NET имя интерфейса начиналось бы с I. Итак, давайте немного изменим пример и назовем его PlayersGateway.

  2. У меня нет другого класса с именем PlayerInterface (или PlayerGateway). Это был просто пример альтернативного имени, которое я использовал бы , если бы мне был нужен только интерфейс для одного игрока. Я думаю, что использование PlayerGateway и PlayersGateway в одном проекте сложно поддерживать, не говоря уже о зле для будущих членов команды. Поэтому, пожалуйста, предположим, что PlayerGateway нет, просто PlayersGateway.

Ответы [ 4 ]

8 голосов
/ 17 февраля 2011

Насколько я понимаю, вы обычно должны использовать единственное выражение слова. Например, если у вас был класс Car, и у вас был класс, содержащий множество экземпляров класса Car, вы бы назвали его CarCollection вместо Cars

6 голосов
/ 17 февраля 2011

В английском языке, когда вы добавляете существительное рядом с другим существительным, чтобы изменить его, вы обычно используете единственное число:

 Coat Room
 Guard Tower

, хотя в комнате может быть несколько слоев или охранники в башне. ИМХО, именование переменных должно соответствовать общим правилам языка.

1 голос
/ 17 февраля 2011

Форма единственного числа часто имеет более семантический смысл для имен классов и имен таблиц в базах данных, поскольку каждый экземпляр (или строка в базе данных) является особенностью.

Вы можете применять те же рассуждения и к массивам. Вы можете думать о посылке [4] как о посылке № 4, а не как номер 4 из пакета.

IMHO, EventService и PlayerInterface - лучшие имена, которые звучат лучше для английского слуха.

1 голос
/ 17 февраля 2011

Я бы хотел использовать единственное число. EventHandler или EventService будут означать, что будут обрабатывать одно событие за другим. Что касается видеоплееров, я бы убедился, если бы вы сказали, что подключаетесь к нескольким игрокам и управляете ими в одно и то же время.

У вас есть второй тип / переменная для единственного случая?

PlayersInterface AllPlayers = new PlayersInterface();
PlayerInterface MyPlayer0 = AllPlayers.getPlayer(0);
PlayerInterface MyPlayer2 = AllPlayers.getPlayer(1);

Даже тогда я думаю, что два типа имен слишком похожи.

Но это личное предпочтение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...