Когда использовать Plural и коллекционное слово в методах - PullRequest
3 голосов
/ 29 декабря 2008

Я создаю API для модуля, и после того, как я создал несколько методов внутри своих классов, я задал себе этот вопрос.

Прямо сейчас, и в качестве примера, я делаю это:

public Company GetMonitoredCompany( String companyName ) { ... }
public List<Company> GetMonitoredCompanies( ) { ... }

Но я понимаю, что несколько раз, когда я использую другие API / Сервисы, иногда у них есть Коллекция в названии, например:

public List<Company> GetMonitoredCompanyCollection( ) { ... }

Есть ли для этого правила? шаблон? или в любом случае должно быть в порядке?

Ответы [ 6 ]

10 голосов
/ 29 декабря 2008

Используйте самое короткое и простое имя, которое ясно показывает цель методов. И будьте последовательны в своем проекте.

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

GetMonitoredCompanies

Потому что это короче и четче.

(Я бы также возвратил ICollection только для чтения или IEnumerable, если у вас нет особых причин не делать этого.)

1 голос
/ 29 декабря 2008

Меня очень смущает, когда используется только множественное число для различения коллекции. Я обычно использую List вместо Get при возврате коллекций, поэтому пример будет

ListMonitoredCompanies

Это позволяет очень просто использовать intellisense, так как все функции добавления, обновления, удаления, просмотра и получения имеют собственную начальную букву.

1 голос
/ 29 декабря 2008

Если он может возвращать несколько значений (коллекция, массив и т. Д.), Используйте множественное число (GetMonitoredCompanies), иначе используйте единственное число. Не включайте возвращаемый тип данных в имя. Это просто напрашивается на неприятности, когда вы меняете тип возвращаемых данных и забываете переименовывать метод, что приводит к безумной путанице.

1 голос
/ 29 декабря 2008

Это зависит от вас. Но я рекомендую вам иметь одинаковое соглашение для всего проекта ... Я предпочитаю первый способ (GetMonitoredCompanies)

0 голосов
/ 29 декабря 2008

В этом случае я бы скопировал именование .NET Framework. Например. Directory.GetFiles и Type.GetMembers и множественное число. Если это не делает код очевидным.

0 голосов
/ 29 декабря 2008

Никогда не занимайтесь коллекцией - если только вы не чувствуете, что она добавляет значительный смысл. Современные инструменты могут легко определить, какой тип возврата ожидать. Что происходит, когда вы меняете тип возвращаемого значения? Вы либо оставляете неправильное имя функции, либо должны изменить его в коде (хотя вам, возможно, придется это делать в любом случае, но если вы подкласс и т. Д., В противном случае вам может не понадобиться).

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

Во всех случаях будьте единообразны по всему коду.

О, и не будь глупым. У меня был коллега (кажется, в момент раздражения), который вызывал его функции в соответствии с FunctionThatLoadsTheTotalFromFileNumberCount в попытке передать тип возврата функции ( Number ), что означает ( Подсчитайте ), что это была функция ( Функция ) и что она на самом деле сделала, довольно многословно.

...