Qt变量和getter的命名约定,以便它们不会发生冲突?

时间:2012-01-16 07:08:39

标签: c++ qt naming-conventions

在我的一个课程中,我有一个成员“QSize frameSize”。我想为它制作一个getter函数,自然我想到了“QSize frameSize()”,但这与变量名相同!在Qt中,约定不使用getFrameSize,那么它们如何避免在自己的源代码中发生名称冲突?

3 个答案:

答案 0 :(得分:9)

嗯 - 首先:使用来源,卢克! Qt source code可在开源许可下使用,因此您可以自由查看他们是如何做的。

话虽如此,在绝大多数情况下,Qt没有这个问题,因为大多数公共类只有一个成员变量(“d指针”),因为它们实现了pimpl idiom。所以他们可能有像

这样的功能
int QSomeThing::foo() const {
    return d->foo;
}

最后但并非最不重要的是,我不知道Qt源代码中的成员变量的任何全局命名规则,但有一些完善的约定。我碰巧使用的是使用m_为所有成员变量的名称添加前缀(表示它是成员)。所以上面的函数,在我的源代码中,(假设我不使用pimpl习语)看起来像:

int QSomeThing::foo() const {
    return m_foo;
}

您的里程可能会有所不同。

答案 1 :(得分:0)

您可能还想查看KDE Coding Style

答案 2 :(得分:0)

如果您尝试使用自己的课程扩展Qt,通常是foo()setFoo(),您可以在内部使用m_foo_foo。如果您想要精确的话,请查看来源。

有许多方法可以命名,最终归结为偏好(您或您的雇主)。只要你保持一致和清晰,它就不那么重要了。这个建议也延伸到了Qt的动态属性。

相关问题