檢查單個值/對象的斷言函數具有以「is」開頭的名稱(is_valid
,is_ok
,is_empty
),這是公認的。我有一個函數比較幾個對象(在我的情況下,字符串),並決定它們是否「足夠相似」。你會如何命名這樣的功能?我的變體是are_strings_similar(s1, s2, s3)
,但看起來有些尷尬。分析多個對象並返回布爾值的函數的命名約定
的代碼是在Python,BTW
檢查單個值/對象的斷言函數具有以「is」開頭的名稱(is_valid
,is_ok
,is_empty
),這是公認的。我有一個函數比較幾個對象(在我的情況下,字符串),並決定它們是否「足夠相似」。你會如何命名這樣的功能?我的變體是are_strings_similar(s1, s2, s3)
,但看起來有些尷尬。分析多個對象並返回布爾值的函數的命名約定
的代碼是在Python,BTW
就個人而言,我會去與is_strings_similar或只是is_similar。爲什麼?因爲它使字符串搜索所有斷言函數的代碼更容易。它是代碼,而不是研究論文。不適當的結合動詞不是主要問題,易於維護。大多數英語使用者可以讀取「is_strings_similar」並解析出功能的用途。但是,我知道沒有任何正則表達式解析器可以搜索「要」謂詞的不同結合體,而無需用戶提供額外的輸入。
好主意,你可以說is_string_group_similar()或is_string_set_similar()並且仍然保持正確的英文:-) –
完全取決於你用什麼特定的命名慣例。如果沒有描述這些函數的命名,則按照您的意思命名該函數。 are_strings_similar
對我來說看起來不錯。沒什麼大不了的。
那麼,理想的做法是創建一個方法similar
,並讓它接受2+ iterables作爲參數設置;-)
就個人而言,我認爲,類夾雜物,使名字有點彆扭,但這是個人喜好。當我閱讀它時,它並沒有違反任何style guidelines。
它可能有助於澄清您的想法實際上大聲讀出它。
if are_similar_strings("foo","fo","fooo"): #guessing at implementation here.
約
if nearly_equal(s1, s2, s3):
或
if nearly_the_same(s1, s2, s3):
單元測試如何使用assertAlmostEqual,所以也許
if almost_equal(s1, s2, s3):
我把它稱爲 「are_similar」,並與我的生活。 – Patrick87
但是,我必須真正的工作,而不是「思考」:-) –
Touché:D ........ – Patrick87