1、类私有函数命名:下划线+函数名
void _init();
2、类私有成员名称:"m_"+驼峰变量名
int m_value;
3、基本的容器类型全部使用C++stl中的,string用Qt的QString
顺序容器: vector string (它不是类模板) list forward_list deque queue priority_queue stack 有序关联容器: map multimap set multiset 无序关联容器: unordered_map unordered_multimap unordered_set unordered_multiset
4、for、if、switch等非函数的大括号仿照java格式
for { } if { } ...
5、函数注释
/*****************************************************************/ //作者:NULL //函数名称:NULL //函数参数:NULL //函数返回值:NULL //函数作用:NULL //备注:NULL /*****************************************************************/
如果不是特别需要就不用加,在头文件里加相关注释就行,cpp里加一些特别的
6、加号、减号、等号、全等号左右各加一个空格
if(a == b){ } a = b;
a + b;
a - b;
7、for循环内部分号左边没有空格,右边加一个空格;内部的等于、大于、小于、加减左右不加空格
for(int i=0; i<10; i++){ }
8、移位符号左右各加一个空格
qDebug() << 123;
9、全局const变量,与宏定义一致,即全大写,不同单词用下划线分隔
const QString CFG_VERSION_INFO = "CFG_VERSION_INFO";
10、每个类结束的时候加上private【以前华为的师傅这样教的,如果是public结尾,那整个类就是以public结尾的】
class Config { public: //。。。 private: //。。。 private: };
11、头文件里的函数注释
在函数上面写出函数注释
/*获取当前系统的系统id*/ inline int getSystemId() const{return m_systemId;}
12、信号、槽函数
驼峰命名法,并且后缀是Slot
signals: void askXxxSignal(); private slots: void timerAskPhmSlot();
13、xml命名
全小写,不同单词用下划线隔开
14、函数体注释
功能体注释用/**/,写在代码上方;单个代码注释用//,写在代码右侧,注意tab对齐
void function() { /*功能块1*/ xxxx; xxxx; //注释1 }
15、头文件里按类型对函数或变量注释并对齐
16、常量性质变量不使用驼峰命名,首字母大写
std::string TargetFilePath; //目标文件夹路径 int C_BUFFER_SIZE; //缓冲区大小 unsigned char HEAD[HEAD_SIZE] = {0x31,0x32,0x33,0x34};