个人编程规范
一.命名约定
g 开头表示 全局变量----gValue
t 开头表示 局部变量----tValue
f 开头表示 函数参数----fValue
m 开头表示 成员变量----mValue
s 开头表示 静态变量----sValue
C开头表示类名 CClassName{}
二.格式
1.空格
参数逗号/分号后面加一个空格
赋值(=)或等于(== > < >= <=)等双目运算符 两边都加一个空格
for和if加一个空格再括号
注释后面加一个空格
2.注释格式
头文件注释:
/** * 函数介绍(适用于多行) * @param 参数名 参数介绍 */
源文件注释:
////////////////////////////////////// // 函数介绍(适用于单行) // // 函数步骤介绍(适用于多行) //
3.大小写
函数首字母先小写再大写
4.习惯
大括号要另起一行.虽然紧跟着函数可以缩小一行,但是在大括号对齐上面会比较好找,特别是多个嵌套大括号的时候
void A() { ... }
5.声明
同一个数据类型的多个变量可以同时声明
int a = 1, b = 2;
三.头文件规范
//Example.h #ifndef _EXAMPLE_H_ #define _EXAMPLE_H_ //类名C开头 Class CTest{ //只能公有函数便于外部调用 public: CTest(); //初始化类内的所有成员变量 ~CTest(); //对象由系统回收内存,指针需要我们释放 _In_ Init(); //可能需要多次初始化 Destory(); //可能需要多次释放 _Out_ HRESULT OnCall(_In_ testData); //函数名全大写,用HRESULT进行错误检验 inline HRESULT Count(){ //对于少行计算函数直接用内联,减少.cpp的代码量和阅读量 } //只有私有变量便于封装 private: //该类使用的值 /*常量全部用大写字母并用下划线分割*/ /*静态变量加前缀s_*/ /*全局变量加前缀g_*/ /*类成员变量加前缀m_小写大写*/ _In_ m_testData; _Out_ m_testData; }; #endif //_EXAMPLE_H_ //.hpp的头文件用来实现工具类代码,这样就能减少.cpp的代码量
四.Cpp规范
//Example.cpp #include "Example.h" #include <assert.h> #include <cassert> HRESULT CTest::Call(_In_ testData){ //布尔值不要与零值等进行比较 assert(testData); //对输入值进行检验 return S_OK; } //对于逻辑函数和业务函数要区分开,因为逻辑函数用来控制流程,业务代码需要大量计算 //逻辑函数没有返回值 void CTest::逻辑函数(){ } //业务函数需要返回值验证 HRESULT CTest::业务函数(){ HRESULT hr; if(SUCCEEDED(hr)){ //如果成功 } if(FAILED(hr)){ //如果失败 } return S_OK; }