1、头文件
1) #define保护
#define防止头文件被多重包含,例如:
#ifndef MAP_MAINWINDOW_H
#define MAP_MAINWINDOW_H
……
#endif //MAP_MAINWINDOW_H
2) 头文件包含次序
将包含次序标准化可增强可读性,次序如下:C库头文件、QT/C++库头文件、其他库的头文件、项目内的头文件。
2、命名约定
1) 通用命名约定
避免使用缩写,避免使用无意义的名称。
2) 类命名
类名是名词,每个单词以大写字母开头,不包含下划线,且名前加大写字母C,例如:
CMySystemWatcher
CClockBattery
3) 函数
函数的名称由一个或多个单词组成。例如:"GetName()", "SetValue()"
回调函数结尾+CallBack。 例如 NotifyCallBack()
事件函数结尾+Event。 例如 ModifyEvent()
信号、槽函数 :
signals:
void askIndexSignal();
private slots:
void setIndexSlot();
4) 变量
变量应该是程序中使用最多的标识符了,变量的命名规范可能是一套C++命名准则中最重要的部分:
变量的命名 | 变量名由作用域前缀+类型前缀+一个或多个单词组成。为便于界定,每个单词的首字母要大写。 对于某些用途简单明了的局部变量,也可以使用简化的方式,如:i, j, k, x, y, z .... | 作用域前缀 | 作用域前缀标明一个变量的可见范围。作用域可以有如下几种:
前缀 | 说明 | 无 | 局部变量 | m_ | 类的成员变量(member) | sm_ | 类的静态成员变量(static member) | s_ | 静态变量(static) | g_ | 外部全局变量(global) | sg_ | 静态全局变量(static global) | gg_ | 进程间共享的共享数据段全局变量(global global) |
除非不得已,否则应该尽可能少使用全局变量。 | 类型前缀 | 类型前缀标明一个变量的类型,可以有如下几种:
前缀 | 说明 | n | 整型和位域变量(number) | e | 枚举型变量(enumeration) | c | 字符型变量(char) | b | 布尔型变量(bool) | f | 浮点型变量(float) | p | 指针型变量和迭代子(pointer) | pfn | 特别针对指向函数的指针变量和函数对象指针(pointer of function) | g | 数组(grid) | i | 类的实例(instance) 对于经常用到的类,也可以定义一些专门的前缀,如:std::string和std::wstring类的前缀可以定义为"st",std::vector类的前缀可以定义为"v"等等。 |
类型前缀可以组合使用,例如"gc"表示字符数组,"ppn"表示指向整型的指针的指针等等。 | 推荐的组成形式 | 变量的名字应当使用"名词"或者"形容词+名词"。例如:"nCode", "m_nState","nMaxWidth" .... |
|
> 转载请注明出处,以上只代表个人观点,引用不当或侵权请联系删除。