Именование классов. Единственное vs. множественное число

284 views
Skip to first unread message

Alexander Sidorov

unread,
Aug 29, 2011, 12:28:06 AM8/29/11
to dotnetconf
Как вы именуете классы: во множественном числе или в единственном

CustomerRepository vs. CustomersRepository
CustomerService vs. CustomersService
CustomerController vs. CustomersController

А для составных имен:

OrderCustomerRepository vs. OrderCustomersRepository vs. OrdersCustomersRepository

Я вроде как умом понимаю, что правильнее называть в единственном числе, да и не одинок я в этом мнении, но блин руки так и тянутся написать CustomersRepository, CustomersService, CustomersController. А что вы думаете по этому поводу?

Murad Muradov

unread,
Aug 29, 2011, 1:01:19 AM8/29/11
to dotne...@googlegroups.com
Называйте в единственном числе. Думайте не как об экземплярах, а как о типе.

29.08.11, Alexander Sidorov<alex...@gmail.com> написал(а):


> Как вы именуете классы: во множественном числе или в единственном
>
> CustomerRepository vs. CustomersRepository
> CustomerService vs. CustomersService
> CustomerController vs. CustomersController
>
> А для составных имен:
>
> OrderCustomerRepository vs. OrderCustomersRepository vs.
> OrdersCustomersRepository
>
> Я вроде как умом понимаю, что правильнее называть в единственном числе, да и
> не

> одинок<http://programmers.stackexchange.com/questions/103720/classes-naming-singular-or-plural


> в этом мнении, но блин руки так и тянутся написать
> CustomersRepository,
> CustomersService, CustomersController. А что вы думаете по этому поводу?
>


--
С уважением
Мурадов Мурад

Alexander Byndyu

unread,
Aug 29, 2011, 1:11:56 AM8/29/11
to dotne...@googlegroups.com
Привет!

Я за единственное число в названии типов.

За множественное число для папок и неймспейсов, которые объединяют однотипные объекты. Например, MyProject.Entities

За единственное число в названиях таблиц в БД. Account, а не Accounts.

Это мои предпочтения :)

--
Best regards,
Byndyu Alexander
Technical Director at IndyCode – www.indycode.ru

Phone: +7 (904) 305 5263
Skype: alexander.byndyu
Blog: http://blog.byndyu.ru
Twitter: alexanderbyndyu



29 августа 2011 г. 11:01 пользователь Murad Muradov <mpmu...@gmail.com> написал:

Сергей Крайнов

unread,
Aug 29, 2011, 1:41:30 AM8/29/11
to dotne...@googlegroups.com
По поводу БД таблицы лучше всего называть во множественном числе.
За единственное число в названии типов и классов.
За множественное число для неймспейсов.

29 августа 2011 г. 9:11 пользователь Alexander Byndyu
<alexande...@gmail.com> написал:


> Привет!
> Я за единственное число в названии типов.
> За множественное число для папок и неймспейсов, которые объединяют
> однотипные объекты. Например, MyProject.Entities
>
> За единственное число в названиях таблиц в БД. Account, а не Accounts.
> Это мои предпочтения :)
> --
> Best regards,
> Byndyu Alexander

> Technical Director at IndyCode - www.indycode.ru

Alexander Sidorov

unread,
Aug 29, 2011, 1:42:37 AM8/29/11
to dotne...@googlegroups.com
Александр, а если я пролистаю твои статью, точно не найду сервисов с именованием во множественном числе? :) У меня такое ощущение, что я у тебя такое видел...

29 августа 2011 г. 12:11 пользователь Alexander Byndyu <alexande...@gmail.com> написал:

Alexander Sidorov

unread,
Aug 29, 2011, 1:43:14 AM8/29/11
to dotne...@googlegroups.com
А почему БД таблицы лучше именовать во множественном числе? В чем специфика?

29 августа 2011 г. 12:41 пользователь Сергей Крайнов <sko...@gmail.com> написал:

Alexander Byndyu

unread,
Aug 29, 2011, 1:44:31 AM8/29/11
to dotne...@googlegroups.com
Трудно сказать :)

Из любого правила есть исключения. Я говорю о предпочтения, но могу и отходить от них. Не думаю, что это критично для работы над проектом. Главное, чтобы внутри команды все приняли некий стандарт.

На счет названия таблиц. У нас их создает NHibernate автоматически, поэтому и думать не надо во множественном или единственном числе, всегда в единственном.


--
Best regards,
Byndyu Alexander
Technical Director at IndyCode – www.indycode.ru

Phone: +7 (904) 305 5263
Skype: alexander.byndyu
Blog: http://blog.byndyu.ru
Twitter: alexanderbyndyu



29 августа 2011 г. 11:42 пользователь Alexander Sidorov <alex...@gmail.com> написал:

Alexander Sidorov

unread,
Aug 29, 2011, 1:46:57 AM8/29/11
to dotne...@googlegroups.com
Для таблиц, думаю, удобно использовать множественное число, когда происходит работа на чистом SQL. Все-таки SELECT * From Customers смотрится лучше, чем SELECT * From Customer

29 августа 2011 г. 12:44 пользователь Alexander Byndyu <alexande...@gmail.com> написал:

Сергей Крайнов

unread,
Aug 29, 2011, 1:48:18 AM8/29/11
to dotne...@googlegroups.com
Специфика в том что в таблице содержатся некоторое количество данных
т.е. в таблице t_Account лежат куча разных счетов. Если взять в
качестве примера СУБД MS SQL Server, то там служебные таблицы
называются sys.tables или sys.syslogins к примеру, тем самым
показывая что в данных таблицах присутствует множественность данных.

29 августа 2011 г. 9:43 пользователь Alexander Sidorov
<alex...@gmail.com> написал:

Alexander Sidorov

unread,
Aug 29, 2011, 1:50:15 AM8/29/11
to dotne...@googlegroups.com
Но наличие в таблице множества строк является ее неотъемлемым свойством. Все об этом знают, зачем это указывать явно при именовании каждой таблицы?

29 августа 2011 г. 12:48 пользователь Сергей Крайнов <sko...@gmail.com> написал:

Сергей Крайнов

unread,
Aug 29, 2011, 1:58:49 AM8/29/11
to dotne...@googlegroups.com
Имелось ввиду, что в таблице все-таки живет множество сущностей. Ведь
когда мы пишем
select * from t_Accounts подразумевая, что секция FROM грамматически
подразумевает множественное число "Выбрать счет из множества счетов".
Хотя тут тоже есть "подводные грабли", нередко в английском языке
образование множественного числа не сводится к простому прибавлению
's' в конец слова и иногда в качестве имен используются сокращения или
аббревиатуры.


29 августа 2011 г. 9:50 пользователь Alexander Sidorov

Reply all
Reply to author
Forward
0 new messages