Един вид въпрос относно английския език: Използване на множествено число в първата част на име на идентификатор

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

Например:

  • Ако имам интерфейс към множество [стрийминг] плейъри, добре е на английски да го нарека PlayersInterface, за разлика от PlayerInterface, което е интерфейс към един плейър?

  • Ако има услуга, която обработва събития, добре ли е да я наименувате EventsService? Или EventService звучи значително по-добре?

Благодаря ти за помощта!

РЕДАКТИРАНЕ:

  1. Очевидно в .NET името на интерфейса ще започва с I. Така че нека променим малко примера и да го наречем PlayersGateway.

  2. Всъщност нямам друг клас с име PlayerInterface (или PlayerGateway). Това беше само пример за алтернативно име, което бих използвал, ако имах нужда от интерфейс само към един играч. Мисля, че използването на PlayerGateway и PlayersGateway в един и същи проект е трудно за поддържане, да не кажа зло за бъдещите членове на екипа. Затова приемете, че няма PlayerGateway, а само PlayersGateway.


person Ilya Kogan    schedule 17.02.2011    source източник
comment
Случаят на използване на EventService според мен е прост и ясен - и двете форми са граматически правилни и зависи от вашата конвенция за именуване. Това, което бих искал да знам е: WidgetsList или WidgetList?   -  person tillda    schedule 17.02.2011
comment
Не сте C# човек, но не би ли било IPlayerи IPlayers? Освен това звучи много по-добре imho.   -  person    schedule 17.02.2011
comment
Аз лично смятам, че животът е по-лесен, ако WidgetList се използва само за List‹Widget›, WidgetsList може да се използва за List‹List‹Widget››. В отговор на първоначалния въпрос можете да изберете име като „MultiPlayerInterface   -  person Jimmy    schedule 17.02.2011
comment
Никога не съм виждал множественото число да се използва по начина на WidgetsList, въпреки че това би трябвало да се счита за правилното име. Нека си признаем, никой не създава EventService, за да обработва само едно (или един вид) събитие, така че наистина ТРЯБВА да бъде EventsService -- просто никога не е.   -  person Rich    schedule 17.02.2011
comment
@delnan, благодаря ти за коментара, редактирах въпроса.   -  person Ilya Kogan    schedule 17.02.2011


Отговори (4)


На английски, когато поставите съществително до друго съществително, за да го промените, обикновено използвате единствено число:

 Coat Room
 Guard Tower

въпреки че може да има няколко палта в стаята или пазачи в кулата. IMHO, именуването на променливи трябва да следва общите правила на езика.

person dandan78    schedule 17.02.2011

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

person Brent    schedule 17.02.2011
comment
Съгласен съм, въпреки че бих добавил, че ако имате колекция от тях, напр. List‹Car›, добре е да наречете тази променлива „автомобили“. - person Grant Crofton; 17.02.2011
comment
вярно, при условие че не се бъркате, със сигурност съм се сблъсквал с проблеми с променливи/колекции, където единствената разлика в именуването е един знак - person Brent; 17.02.2011

Бих склонен да използвам единствено число. EventHandler или EventService биха имали конотацията, че ще обработват едно събитие след друго. За видео плейърите може би ще бъда убеден, ако кажете, че се свързвате с множество плейъри и ги контролирате почти по едно и също време.

Бихте ли имали втори тип/променлива за единствения случай?

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

Дори тогава мисля, че двата типа имена са твърде сходни.

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

person Tom Cerul    schedule 17.02.2011
comment
Благодаря ти, @Tom, но това не е точно това, което имам предвид, мисля, че не формулирах въпроса толкова добре. Редактирах въпроса, за да изясня какво имам предвид. - person Ilya Kogan; 17.02.2011

Формата за единствено число често има по-голям семантичен смисъл за имена на класове и имена на таблици в бази данни, тъй като всеки екземпляр (или ред в база данни) е уникалност.

Можете да приложите същото разсъждение и върху масиви. Можете да изберете да мислите за парцел[4] като за парцел №4, а не за номер 4 от група колети.

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

person MattBianco    schedule 17.02.2011