這是一個基本的命名約定問題,但我沒有找到具體處理這個問題的任何地方。服務方法的命名約定
我有一個名爲Foo的類和一個名爲Bar的類。
我有一個方法在服務中檢索Foo的所有酒吧。我是否應該將其命名爲:
GetFooBars(int fooId)
或
GetBarsForFoo(int fooId)
擴大,你可以有其他類,如酒吧
GetMooBars(int mooId)
或
GetBarsForMoo(int mooId)
這是一個基本的命名約定問題,但我沒有找到具體處理這個問題的任何地方。服務方法的命名約定
我有一個名爲Foo的類和一個名爲Bar的類。
我有一個方法在服務中檢索Foo的所有酒吧。我是否應該將其命名爲:
GetFooBars(int fooId)
或
GetBarsForFoo(int fooId)
擴大,你可以有其他類,如酒吧
GetMooBars(int mooId)
或
GetBarsForMoo(int mooId)
我建議
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);
我會打電話寧可使用一個o f以下:
GetBarsByFoo(int fooID) { }
GetBarsByMoo(int mooID) { }
GetBarsByFooId(int fooID){ }
GetBarsByMooId(int mooID){ }
重複'GetBarsByMooId'。我想你的意思是'GetBarsByMoo'。 – 2013-03-19 16:31:36
你是完全正確的,感謝您的評論。 :) – Abbas 2013-03-19 18:08:33
謝謝,我喜歡你指定的「...... FooId」。我唯一需要注意的是,當我看到「By」而不是「For」時,它讓我覺得我得到了很多(全部)酒吧,這些酒吧被FooId(或MooId)細分或排序。或者,當我看到「For」時,它讓我覺得我只是爲了一個特定的FooId(或MooId)而獲得所有酒吧的子集。 – 2013-03-19 17:50:41
當我看到一個像GetBarsByFooId這樣的名字時,它讓我覺得「過濾」或「搜索」。我從來沒有想到,這可能意味着「分組」或「排序」。但那只是我......我想你傳遞'fooId'作爲參數的事實應該澄清這個意圖。 – 2013-03-19 18:17:39