我正在与一组其他程序员一起使用C++和Qt构建的开源项目.
现在,我们需要一个小部件(通常是其他变量)的命名约定,以将其用作我们所有代码中的标准,这样,代码可以获得更好的可读性,并且我们可以在程序员之间获得更好的协调.
有什么建议?
编辑:我不是在谈论命名新类,
相反,我在谈论命名Qt Widgets的实例,假设我有一个用户名的文本编辑,我应该将其命名为txtEdtUsrNm吗?
在那种情况下,我该如何选择推导?
只要您按照这些思路进行思考,我就从开始到结束阅读这篇QtQuarterly文章开始.
设计Qt-Style C++ API
也就是说,我们做的一件事就是将实例的"使用"作为第一部分,将最后一个完整的单词作为最后一部分.
所以,你的"用户名"QTextEdit是
QTextEdit * userNameEdit = new QTextEdit(this);
如果存在歧义,例如QListView和QTreeView,请选择最后一个不明确的部分.
QListView * userListView;
你可以找出你喜欢的缩写(例如QLabel的"Lbl"),但一般来说,整个单词都有效,并且易于阅读.
另一方面,我们对此并不太严格,在没有类名的情况下命名实例变量的意图可能更为重要,因为如果将来要更改类,则需要更改名称在没有好的重构工具的情况下,这是一种痛苦.
也许弄清楚你最常用的小部件,并为最常见的超级类选择一个命名约定,让其他一切都去.
遵循约定的事物的示例列表:
layout =所有以"Layout"结尾并继承QLayout的类
button =以"Button"结尾并继承QAbstractButton的所有类
QAbstract ClassName类是思考该列表中应该包含的内容的好地方.