用「Does」(在C#中)啓動方法名是否是一種好習慣?這對我來說有點奇怪,所以我想聽聽你的意見。以「Does」開頭的方法名稱看起來不錯嗎?
我正在寫一個方法來檢查賬戶是否存在,簽名應該是 「bool DoesAccountExist(id)」?有更好的名字嗎?
謝謝!
用「Does」(在C#中)啓動方法名是否是一種好習慣?這對我來說有點奇怪,所以我想聽聽你的意見。以「Does」開頭的方法名稱看起來不錯嗎?
我正在寫一個方法來檢查賬戶是否存在,簽名應該是 「bool DoesAccountExist(id)」?有更好的名字嗎?
謝謝!
個人而言,我會在這種情況下AccountExists(ID)去的,因爲它會如果塊
if (AccountExists(id)) { }
您擊敗了我的AccountExists()名稱。對你有好處。 – David 2011-05-04 17:35:16
我通常會離開關不和簡單地使用AccountExists(ID)看起來更自然在。
對我來說,它看起來在代碼中更自然後如:
if(AccountExists(id))
{
ValidateLogin();
}
另一種方法是這樣的:
if(!DoesAccountExist(id)) {}
似乎很奇怪我。我會閱讀,如果帳戶不存在?這使得少於帳戶不存在。
+1顯示'if'看起來有多壞'if'('''構造 – 2011-05-04 17:48:25
我們總是用Is
爲將返回一個布爾值,所以在這種情況下,我們會調用該方法
IsExistingAccount(id)
+1使用'Is'約定 – 2011-05-04 17:48:52
令人驚訝,但這幫助了我的矩形程序員頭很大:)重點是'現有'的形式,你可以把所有的東西放在那裏 - 比如'IsRefreshing ...' - 我也喜歡爲所有人提供一個單一前綴的想法 - 否則你需要「應該」有''做'等等,這取決於你在處理什麼w/- 所有最有用的答案 – NSGaga 2016-04-17 17:10:28
我覺得AccountExists
是你最好的選擇,但另外一個選擇是任何方法:IsExistingAccount
。對於返回布爾值的方法或屬性,在方法以單詞「is」開頭的情況下使用命名約定會很有用。如果使用「是」,則必須重新調整方法名稱的其餘部分,以便讀者理解它。
Can or Is可以像CanCopy
或IsAccountExists
一樣使用。遵循預定義的約定使代碼更具可讀性。坦率地說,前綴對我來說看起來有點奇怪。
「Is」前綴習語有助於闡明像「空」這樣的可能意味着「清空數組」或「數組爲空」的方法。如果一致地使用「IsEmpty」顯然是bool返回,並且按照慣例,「Empty」變得清晰爲清空動作。
在我@Andy白人認同問題的情況下第二提示:
if (IsExitingAccount) ...
這裏的「是」觸發布爾回報constistant強烈暗示自動與其別的用途,其中(的IsEmpty,ISNULL等)
另一種選擇是使用Is,Any的標準C#複數。
AnyAccountsExist(id)
它看起來像你沒有考慮如何使用你的布爾返回函數。去AccountExists,我相應地upvoted。 – Jodrell 2011-05-04 17:37:24
'bool answer = DoesAMethodNameLookGoodStartingWith(「Does」);' – BoltClock 2011-05-04 18:17:32