我正与一个集团的其他程序员开放源项目,建立使用C++和夸脱

现在,我们需要一个命名的公约》的部件(和其他变量一般)使用它作为一个标准在我们所有的代码这样,代码变得更好的可读性和我们之间更好的协调程序员。

任何建议?

编辑:我不是在谈论的命名新课程,

而不是我谈论的命名情况的脱件,让我们说我有一个文本编辑用户的名字,我应该称它txtEdtUsrNm?

在这种情况下,我怎么选择衍生?

有帮助吗?

解决方案

只要你想沿着这些路线,我会开始通过阅读这QtQuarterly的文章,从开始到完成。

设计脱式C++Api

这就是说,一件事,我们要做的就是把"使用"的实例,作为第一部分和最后的完整的词类作为最后的一部分。

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

QTextEdit * userNameEdit = new QTextEdit(this);

如果有的模糊性,例如QListView和QTreeView,挑选最后一个unabiguous部分。

QListView * userListView;

你能弄明白的缩写,你怎么样(例如"Lbl"为QLabel),但一般来说,整个字都有工作和已经容易阅读。

另一方面,我们是不是太严格的关于这一点,这可能是更重要的名称,意图实例变量没有类的名称,因为如果在未来的,你想要改变该类,你能更改名称,在没有良好的重构工具,是一个痛苦。

也许找出总部件使用的大多数,并且挑选一个命名的公约》的最通常的超级课程和让一切走。

例的情况下,遵守《公约》:

  • 布=的所有课程,在结束 "布局"和继承QLayout
  • 按钮=的所有类结尾的"按键"和继承QAbstractButton

该QAbstractClassName 类是一个好地方去想什么应该在这一名单。

其他提示

由于Qt对第三方开发人员开放,他们提供了几个关于编码风格和API设计原则的文档。

这些文件非常有趣。以下是一些链接:

Wiki:Qt Coding Style

Wiki:Api设计原则

来自Jasmin Blanchette的这份文件(PDF)值得一读: API Design的小手册

我只会使用Qt使用的相同命名约定。让自己轻松自如。

他们的命名约定类似于java。

全名快速阅读和输入很麻烦,所以我们通常使用缩写:

QLabel * fooLB;
QPushButton * fooPB;
QTextEdit * fooTE;
QSpinBox * fooSB;

(你得到漂移)。是的,有些含糊不清,但它们通常是从上下文中解决的。

准确地说,问题是关于“命名Qt Widgets的实例”,但答案是关于命名保存对小部件实例的引用的变量。

Qt Widgets派生自QObject,它具有带getter objectName()的name属性。如果程序员没有,Qt会给该属性一个值吗?称之为“自动生成”或“默认”值。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top