分析多个对象并返回一个布尔值的函数的命名约定



检查单个值/对象的断言函数的名称以"is"开头(is_valid, is_ok, is_empty),这是公认的。我有一个函数,比较几个对象(字符串,在我的情况下),并决定他们是否"足够相似"。你会如何命名这样一个函数?我的变体是are_strings_similar(s1, s2, s3),但它看起来有些笨拙。

代码是Python,顺便说一下

就我个人而言,我会使用is_strings_similar或只是is_similar。为什么?因为它使在代码中搜索所有断言函数的字符串变得容易得多。这是代码,不是研究论文。动词变位不当不是主要问题,容易维护才是。大多数说英语的人都能读懂"is_strings_similar"并解析出函数的用途。但是,据我所知,没有任何regex解析器可以在没有用户额外输入的情况下搜索'to be'动词的不同共轭。

完全取决于您使用的某种命名约定。如果其中没有描述这类函数的命名,那么按照您的意愿命名函数。are_strings_similar看起来很适合我。这没什么大不了的。

理想情况是创建一个方法similar,并让它接受2+可迭代对象作为参数集;-)

我个人认为,包含类型使名字有点尴尬,但这是个人偏好。正如我所读到的,它并没有违反任何风格指南。

大声读出来可能有助于理清你的想法。

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

if nearly_equal(s1, s2, s3):

if nearly_the_same(s1, s2, s3):

unittest使用assertAlmostEqual,所以

if almost_equal(s1, s2, s3):

相关内容

最新更新