您更喜欢构造函数中的哪些参数名称?后缀,前缀还是其他?

时间:2014-04-04 07:46:28

标签: c++ constructor identifier notation

例如,我有时使用“Set”后缀,如:

ClassA
{
    public:
        ClassA(int xSet, int ySet):
            x(xSet),
            y(ySet)
        {
            ;
        }

    private:
        int x, y;
};

那么,有没有更好的方法来编写xSet和ySet?

3 个答案:

答案 0 :(得分:2)

有时人们选择使用特殊后缀/前缀来表示数据成员,以区别于其他变量/参数。流行的命名约定是:

1)m_前缀(例如m_x);

2)_后缀(例如x _);

我个人更喜欢x_因为打字较少。

答案 1 :(得分:2)

每个项目/团队/组织都遵循自己的编码指南。如果您正在为自己或您的团队寻找一些东西,Google搜索“C / C ++编码指南”应该会为您提供一些有用的入门链接。

在我工作的地方,我们使用下划线(_)作为类成员数据的后缀。构造函数的参数是没有下划线的相同名称。

答案 2 :(得分:1)

嗯,显而易见的答案是为参数命名 是:initialXinitialY(或设置者,newXnewY)。遵循这个逻辑,成员变量应该 可能是currentXcurrentY - 通常的规则是 变量名称应该是限定名词。

理论上这一切都很好。在实践中,似乎是 以上可能是矫枉过正(或过于严谨的应用 理论)。至少,我工作的每一个地方都有 关于命名成员的约定,以便可以立即 查看名称是否是成员。理想情况下,它不应该 必要的,但实际上,我们不在理想的世界中工作。 我见过的两个最常见的约定是m_my 成员名称的前缀(s_our表示静态 成员)。其他广泛的惯例(使用下划线 应该避免作为前缀或后缀),因为领先和 尾随下划线不是很明显,并且使代码变得困难 阅读。 (领先的下划线也倾向于非常使用 实现中的特殊符号,尤其应该如此 避免。)