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

时间:2011-07-19 06:20:34

标签: python naming-conventions

众所周知,检查单个值/对象的断言函数的名称以“是”(is_validis_okis_empty)开头。我有一个比较几个对象的函数(在我的例子中是字符串)并决定它们是否“足够相似”。你怎么称呼这样的功能?我的变体是are_strings_similar(s1, s2, s3),但看起来有点尴尬。

代码是Python,BTW

4 个答案:

答案 0 :(得分:4)

就个人而言,我会选择is_strings_similar或is_similar。为什么?因为它使字符串搜索所有断言函数的代码更容易。这是代码,而不是研究论文。不恰当的共轭动词不是主要问题,易于维护。大多数英语使用者都可以阅读“is_strings_similar”并解析函数的用途。但是,我所知道的没有正则表达式解析器可以在没有用户额外输入的情况下搜索“待定”动词的不同共轭。

答案 1 :(得分:1)

完全取决于您使用的某些命名约定。如果没有在其中描述这些功能的命名,则按照您的意愿命名该功能。 are_strings_similar看起来对我很好。这不是什么大问题。

答案 2 :(得分:1)

嗯,理想的做法是创建一个方法similar并让它接受2个以上的迭代作为参数集; - )

就个人而言,我认为类型包含使名称有点尴尬,但这是个人偏好。当我读到它时,它并没有违反任何style guidelines

这可能有助于澄清您的想法,以便实际大声朗读。

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

答案 3 :(得分:1)

怎么样

if nearly_equal(s1, s2, s3):

if nearly_the_same(s1, s2, s3):

unittest使用assertAlmostEqual,所以也许

if almost_equal(s1, s2, s3):