当包含撒克逊属性的名称(如“验证任务的优先级”和“更改参数的优先级”或“增加操作的延迟”)时,您如何称呼您的函数?
你放弃了撇号吗?verifyTasksPriority(), changeArgumentsPriority(), increaseActionsDelay()
你放弃了撇号和“s”吗? verifyTaskPriority(), changeArgumentPriority(), increaseActionDelay()
你用“of”替换saxon genitive吗? verifyPriorityOfTask(), changePriorityOfArgument(), increaseDelayOfAction()
?
我不喜欢第一个选项,因为它听起来像函数可以处理多个事情,而不仅仅是一件事。 我不喜欢第二种选择,因为它听起来不自然。我不喜欢第三个选项,因为函数名中的 这个词听起来不对。
您使用什么选项?
答案 0 :(得分:9)
我使用第二个。这对我来说听起来不错。将“任务优先级”视为“吸尘器”等复合词。
答案 1 :(得分:2)
我发现第二和第三号听起来不错,并且是描述性的。我使用第二个选项。第一个选项可能会令人困惑,因为它似乎表明它在一个集合而不是单个项目上运行(例如,任务而不是任务)。
然而,我并不知道我在做Saxon的genitive编程;我马上就把它添加到我的简历中。答案 2 :(得分:1)
我不记得曾经觉得有必要随便使用它们。
我主要使用OO语言编写OO代码,以便验证您拥有task.verifyPriority()
任务的优先级,但通常只有task.verify()
作为公共方法。
验证优先级可能涉及其他逻辑 - 例如,如果任务的所有者是Bob,则优先级只能为7。将Bob的优先级7任务之一的所有者设置为Anna会使其不一致,但是当您更改所有者时会调用verifyOwner()
以及更改优先级时verifyPriority()
是否会调用优先级,甚至如果他们有相同的逻辑?
我发现,使API不那么具体到实现的细节会带来更具延展性的代码。
在非OO语言中,我通常使用<library>_<Noun>_<Verb>
tman_task_verify ( task_t* self )
来验证任务管理器库中的任务对象以验证自身。
答案 3 :(得分:0)
当寻找撒克逊人的某些细微之处时,这个老问题引起了我的注意。根据{{3}},萨克森人(Saxone Genitive)被用来描述占有:
撒克逊族人用“ of”一词代替表示拥有。它的 主要用于指代人拥有的事物,但也可以是 用于动物,组织甚至某些时间表达。至 创建撒克逊人所有格我们在名称中添加‘s例如:
这是约翰的车。 =这是约翰的车。
在同一页面上,我们发现以下内容:
何时不使用Saxon Genitive
我们通常不使用撒克逊人 宾语在这种情况下,我们更喜欢“ of”。例如:
房子的门。 (不是“房子的门”。)
笔盖。 (不是“笔盖”。)
路的尽头。 (不是“路的尽头”。)
通常来说,如果您不确定是否要使用撒克逊人 属一般,使用'of'比较安全。
这意味着我们不会说任务的优先级或动作的延迟。因此,应该完全消除第一种选择。
第三个选项在语法上是正确的,但听起来有些笨拙。
第二个选项使用Wall Street English。如该页面上所述,构建复合名词的可能性很多,第一种是名词+名词的组合:
- 卧室
- 水箱
- 摩托车
- 打印机墨盒
我们还可以想到计算机编程中使用的其他示例,例如:状态代码,设计模式,语法错误等。
第二种选择就是这样。
由于我对命名约定非常着迷,所以我想分享我的发现并进一步支持以前的答案。