Qt小部件的命名约定

Law*_*and 11 c++ qt coding-style widget

我正在与一组其他程序员一起使用C++和Qt构建的开源项目.

现在,我们需要一个小部件(通常是其他变量)的命名约定,以将其用作我们所有代码中的标准,这样,代码可以获得更好的可读性,并且我们可以在程序员之间获得更好的协调.

有什么建议?

编辑:我不是在谈论命名新类,

相反,我在谈论命名Qt Widgets的实例,假设我有一个用户名的文本编辑,我应该将其命名为txtEdtUsrNm吗?

在那种情况下,我该如何选择推导?

Mic*_*hop 15

只要您按照这些思路进行思考,我就从开始到结束阅读这篇QtQuarterly文章开始.

设计Qt-Style C++ API

也就是说,我们做的一件事就是将实例的"使用"作为第一部分,将最后一个完整的单词作为最后一部分.

所以,你的"用户名"QTextEdit是

QTextEdit * userNameEdit = new QTextEdit(this);
Run Code Online (Sandbox Code Playgroud)

如果存在歧义,例如QListView和QTreeView,请选择最后一个不明确的部分.

QListView * userListView;
Run Code Online (Sandbox Code Playgroud)

你可以找出你喜欢的缩写(例如QLabel的"Lbl"),但一般来说,整个单词都有效,并且易于阅读.

另一方面,我们对此并不太严格,在没有类名的情况下命名实例变量的意图可能更为重要,因为如果将来要更改类,则需要更改名称在没有好的重构工具的情况下,这是一种痛苦.

也许弄清楚你最常用的小部件,并为最常见的超级类选择一个命名约定,让其他一切都去.

遵循约定的事物的示例列表:

  • layout =所有以"Layout"结尾并继承QLayout的类
  • button =以"Button"结尾并继承QAbstractButton的所有类

QAbstract ClassName类是思考该列表中应该包含的内容的好地方.