2013-03-19 3 views
5

Это основной вопрос об именовании, но я не нашел нигде, что касалось этого конкретно.Соглашение об именах для метода обслуживания

У меня есть класс под названием Foo и класс Bar.

У меня есть метод в сервисе для извлечения всех баров для Foo. Должен ли я назвать его:

GetFooBars(int fooId) 

или

GetBarsForFoo(int fooId) 

Для расширения, вы могли бы Bars для других классов, например,

GetMooBars(int mooId) 

или

GetBarsForMoo(int mooId) 

ответ

5

Я хотел бы предложить

GetBarsByFooId(int fooId) 

GetBarsByMooId(int mooId) 

Или ... настройки вашего API для поддержки вызова, как этот

[DataContract] 
[KnownType(typeof(GetBarsByFooIdRequest))] 
[KnownType(typeof(GetBarsByMooIdRequest))] 
abstract class GetBarsRequest 
{ 
    .. 
} 

[DataContract] 
sealed class GetBarsByFooIdRequest : GetBarsRequest 
{ 
    [DataMember] 
    public int FooID { get; set; } 
} 

sealed class GetBarsByMooIdRequest : GetBarsRequest 
{ 
    [DataMember] 
    public int MooID { get; set; } 
} 

GetBarsResponse GetBars(GetBarsRequest); 
+0

Спасибо, мне нравится, что вы указали «... FooId». Мое единственное предостережение, которое у меня есть, это то, что когда я вижу «By», а не «For», это заставляет меня думать, что я получаю много (всех?) Баров, которые разбиты или отсортированы по FooId (или MooId). В качестве альтернативы, когда я вижу «For», это заставляет меня думать, что я получаю подмножество всех баров только для определенного FooId (или MooId). –

+0

Когда я вижу такое имя, как 'GetBarsByFooId', это заставляет меня думать« фильтровать »или« искать ». Мне никогда не приходило в голову, что это может означать «группа» или «порядок». Но это только я ... Думаю, факт, что вы передаете 'fooId' в качестве параметра, должен прояснить намерение. –

2

Я бы скорее используйте один f:

GetBarsByFoo(int fooID) { } 

GetBarsByMoo(int mooID) { } 

GetBarsByFooId(int fooID){ } 

GetBarsByMooId(int mooID){ } 
+0

'GetBarsByMooId' повторяется. Я думаю, вы имеете в виду 'GetBarsByMoo'. –

+0

Вы абсолютно правы, спасибо за комментарий. :) – Abbas

Смежные вопросы