2011-07-19 81 views
1

检查单个值/对象的断言函数具有以“is”开头的名称(is_validis_okis_empty),这是公认的。我有一个函数比较几个对象(在我的情况下,字符串),并决定它们是否“足够相似”。你会如何命名这样的功能?我的变体是are_strings_similar(s1, s2, s3),但看起来有些尴尬。分析多个对象并返回布尔值的函数的命名约定

的代码是在Python,BTW

+6

我把它称为 “are_similar”,并与我的生活。 – Patrick87

+3

但是,我必须真正的工作,而不是“思考”:-) –

+0

Touché:D ........ – Patrick87

回答

4

就个人而言,我会去与is_strings_similar或只是is_similar。为什么?因为它使字符串搜索所有断言函数的代码更容易。它是代码,而不是研究论文。不适当的结合动词不是主要问题,易于维护。大多数英语使用者可以读取“is_strings_similar”并解析出功能的用途。但是,我知道没有任何正则表达式解析器可以搜索“要”谓词的不同结合体,而无需用户提供额外的输入。

+0

好主意,你可以说is_string_group_similar()或is_string_set_similar()并且仍然保持正确的英文:-) –

1

完全取决于你用什么特定的命名惯例。如果没有描述这些函数的命名,则按照您的意思命名该函数。 are_strings_similar对我来说看起来不错。没什么大不了的。

1

那么,理想的做法是创建一个方法similar,并让它接受2+ iterables作为参数设置;-)

就个人而言,我认为,类夹杂物,使名字有点别扭,但这是个人喜好。当我阅读它时,它并没有违反任何style guidelines

它可能有助于澄清您的想法实际上大声读出它。

if are_similar_strings("foo","fo","fooo"): #guessing at implementation here. 
1

if nearly_equal(s1, s2, s3): 

if nearly_the_same(s1, s2, s3): 

单元测试如何使用assertAlmostEqual,所以也许

if almost_equal(s1, s2, s3):