我的类有虚拟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 ???
答案 0 :(得分:0)
让您的公开功能最易读且易于理解。希望在你的情况下你根本不需要它,因为你的构造函数应该做“init”工作。
然后将您的(希望)受保护的虚拟函数命名为它的目的,如果可以的话,可能比Init()更具体。
您正在考虑两个可以具有可互换名称但意图用于不同目的的函数,这一点暗示您可能需要重新考虑类结构。
答案 1 :(得分:0)
您偏好的任何非冲突的函数名称都可以。这不是你应该担心的事情。
答案 2 :(得分:0)
命名很重要。正确的名称很重要,但连贯性也很重要。创建命名约定样式并使用它。 我建议你阅读Clean Code。它解释了如何命名您的类和许多其他东西来创建解释自己的代码。
关于你的具体问题,两个初始化很难理解作为我们类的用户,我不明白为什么我必须调用两个不同的初始化,因为一个必须足够,通常是。我建议你只在派生的虚拟成员中实现所有初始化代码。我建议你进行一些重构,或者更好地解释这些功能的用途。
答案 3 :(得分:0)
使用一个名称来解释什么功能,而不是在1年后查看这个功能时你会理解的。