简单的功能命名

时间:2012-08-03 21:00:24

标签: c++ coding-style naming

我的类有虚拟init()函数,它在派生类中定义,而其他函数初始化此类并调用 init 函数。 如何命名这个其他函数?

我尝试了类似 doInit 的内容,但它看起来像是私有功能。 init 函数名称无法更改。

public:
bool myclass::this_other_function_init( params )
{
    systemInit(this);
    init();
    ...
    return true;
}
virtual init() = 0;

Private method naming convention - 这个主题显示了如何命名私有方法,但现在我必须做相反的名称公共方法。

编辑:如何命名初始化功能? init,initialize,start .... etc ???

4 个答案:

答案 0 :(得分:0)

让您的公开功能最易读且易于理解。希望在你的情况下你根本不需要它,因为你的构造函数应该做“init”工作。

然后将您的(希望)受保护的虚拟函数命名为它的目的,如果可以的话,可能比Init()更具体。

您正在考虑两个可以具有可互换名称但意图用于不同目的的函数,这一点暗示您可能需要重新考虑类结构。

答案 1 :(得分:0)

您偏好的任何非冲突的函数名称都可以。这不是你应该担心的事情。

答案 2 :(得分:0)

命名很重要。正确的名称很重要,但连贯性也很重要。创建命名约定样式并使用它。 我建议你阅读Clean Code。它解释了如何命名您的类和许多其他东西来创建解释自己的代码。

关于你的具体问题,两个初始化很难理解作为我们类的用户,我不明白为什么我必须调用两个不同的初始化,因为一个必须足够,通常是。我建议你只在派生的虚拟成员中实现所有初始化代码。我建议你进行一些重构,或者更好地解释这些功能的用途。

答案 3 :(得分:0)

使用一个名称来解释什么功能,而不是在1年后查看这个功能时你会理解的。