命名约定中的Saxon Genitive?

时间:2009-10-07 14:13:26

标签: naming-conventions naming

当包含撒克逊属性的名称(如“验证任务的优先级”和“更改参数的优先级”或“增加操作的延迟”)时,您如何称呼您的函数?

你放弃了撇号吗? verifyTasksPriority(), changeArgumentsPriority(), increaseActionsDelay()

你放弃了撇号和“s”吗? verifyTaskPriority(), changeArgumentPriority(), increaseActionDelay()

你用“of”替换saxon genitive吗? verifyPriorityOfTask(), changePriorityOfArgument(), increaseDelayOfAction()

我不喜欢第一个选项,因为它听起来像函数可以处理多个事情,而不仅仅是一件事。 我不喜欢第二种选择,因为它听起来不自然。我不喜欢第三个选项,因为函数名中的 这个词听起来不对。

您使用什么选项?

4 个答案:

答案 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。如该页面上所述,构建复合名词的可能性很多,第一种是名词+名词的组合:

  
      
  • 卧室
  •   
  • 水箱
  •   
  • 摩托车
  •   
  • 打印机墨盒
  •   

我们还可以想到计算机编程中使用的其他示例,例如:状态代码,设计模式,语法错误等。

第二种选择就是这样。

由于我对命名约定非常着迷,所以我想分享我的发现并进一步支持以前的答案。