C++/Qt个人编码规范

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};

 

posted @ 2020-10-30 15:58  朱小勇  阅读(642)  评论(0编辑  收藏  举报