严谨编码风格的重要性:
1.便于代码合并,满足团队开发的需要
2.合格程序员的必备素质
3.防止编码错误
4.易读易理解
Google C++编码规范(中文版)
https://zh-google-styleguide.readthedocs.io/en/latest/google-cpp-styleguide/
1.头文件尽可能多的使用前向声明
好处:较少的文件依赖,减少编译时间. 更加明确的类的依赖关系.
1 //.h中类B使用类A,使用前向声明就不需要包含类A的头文件,减少编译工作量 2 class CA; //前向声明一个类A 3 class CB 4 { 5 public: 6 CA* m_pA;//声明类A的指针 7 CA* GetClassA(CA *pA, CA &a); //声明使用类A作为形参或返回值类型的函数 8 //CA m_A; Error,不能定义类A的对象 9 };
2.函数的参数顺序,输入参数在前,输出参数在后
输入参数一般为传值或者指针,引用,前面加const
输出参数一般为非常量指针或者引用
好处:根据参数的位置明确参数的作用,一目了然
1 //输入参数: nInput cInput szInput 2 //输出参数: nOutPut 3 void Fun(const int nInput, const char cInput, const char* pStrInput, int &nOutPut);
3.头文件的包含顺序
stdafx.h预编译头文件
先包含当前源文件对应的头文件
C系统头文件
C++系统头文件
其它库头文件
本项目其它头文件
每个区域之间空一行
好处:增加可读性
1 #include "stdafx.h" //预编译头文件 2 3 #include "test.h" //当前源代码对应的头文件 4 5 #include <stdio.h> //C标准库 6 7 #include <iostream> //C++标准库 8 9 #include "library/read.h" //其它库头文件 10 #include "library/write.h" 11 12 #include "one.h" //当前项目下其它头文件 13 #include "two.h"
4.局部变量初始化,声明变量后立即进行赋值初始化
好处:避免未初始化产生的潜在错误
1 int nA = 0; 2 char szB = '