2008-12-28 22 views
3

我爲模塊創建了一個API,並且在我的類中創建了幾個方法後,我問自己這個問題。什麼時候在方法上使用複數與集合字

眼下,作爲一個例子,我這​​樣做:

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

但是我明白在幾次,我用其他的API /服務有時他們收集的名字也許像:

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

是否有這樣的規則?一種模式?或者任何方式應該沒問題?

回答

10

使用最短,最簡單的名稱,清楚地顯示方法的用途。 並在您的項目中保持一致。

在這個例子中,如果沒有其他的考慮,我會使用的名稱:

GetMonitoredCompanies

因爲它是更短,更清晰。

(我也將返回一個只讀的ICollection或IEnumerable的,除非你有一些特殊的理由。)

1

這取決於你。但我建議你對整個項目有相同的約定... 我更喜歡第一種方式(GetMonitoredCompanies)

0

決不做託收的事 - 除非你覺得它增加了顯著的意義。現代工具能夠一目瞭然地告訴您需要什麼樣的退貨類型。當你改變返回類型時會發生什麼?您要麼保留函數名稱錯誤,要麼必須在整個代碼中更改函數名稱(儘管您可能需要這樣做,但是如果您繼承了其他類,則可能不需要)。

出於同樣的原因,匈語符號(有爭議)在高級語言中不再特別有用。

在所有情況下,請在您的代碼中保持一致。

哦,別傻了。我有一個同事(在煩惱我想了一會兒),試圖傳達函數的返回類型調用他的函數沿FunctionThatLoadsTheTotalFromFileNumberCount的線(號碼),意(計數),這是一個功能(函數)以及它實際做了什麼,而非冗長。

1

如果它可能返回多個值(集合,數組等),使用複數(GetMonitoredCompanies),否則使用單數。不要在名稱中包含返回的數據類型。這只是要求您在更改返回數據類型時遇到麻煩,並忘記重命名該方法,播種瘋狂的混淆。

1

我發現它很混亂,只使用複數來區分一個集合。我通常使用列表,而不是獲取時返回集合所以例子是

ListMonitoredCompanies 

這使得它非常容易使用智能感知與添加,更新,刪除,列表和獲取功能都有自己的首個字母。

相關問題