变量名称在名词之前或之后是否有形容词?

时间:2016-04-08 16:09:21

标签: python c++ naming-conventions

我发现在变量的命名约定中我经常有点不一致,我只是想知道人们认为什么是最好的方法。我所讨论的具体约定是变量需要由名词和形容词描述,以及形容词是否应该在名词之前或之后。这个问题在所有编程语言中都是通用的,尽管我个人使用的是C ++和Python。

例如,考虑编写一个GUI,它有两个按钮;一个在右边,一个在左边。我现在需要创建两个变量来存储它们。一种选择是在名词前面加上形容词,然后称它们为left_buttonright_button。另一种选择是在名词后面加上形容词,然后称它们为button_leftbutton_right。对于第一种情况,在大声朗读时更有意义,因为在英语中,你总是将形容词放在名词之前。但是,对于第二种情况,它有助于在语义上构建数据,因为button显示有关变量的最多信息,leftright是补充信息。

那你觉得怎么样?形容词应该在之后 之后 之后 还是完全主观?

2 个答案:

答案 0 :(得分:6)

我尝试使用noun_adj,因为它符合我用于函数的内容。当我编写函数时,我倾向于使用verb_noun_adj,例如:

def get_button_id():
    """Get id property of button object."""
    pass

这更清楚地告诉我get_id_button,因为你在这里得到的并不完全清楚:它是获取button.id还是获得了一个名为'id'的按钮,或者甚至是其他的东西?除非你将名称扩展得更清楚,比如get_id_of_button对你来说可能有点过于冗长。

对于我在这里做的事情,可能有一个同样有效的论据,但至少我在疯狂中保持一致?

答案 1 :(得分:3)

我认为在名词之前写形容词是更常见的事情。但是如果你考虑一下,在阅读你的代码时,在名词之后写它会更容易。形容词很容易被看作是名词的一个属性。以逻辑的思维方式,我认为这是更好的方式。