- 一、命名规范
- 1、目录/文件
- 2、函数/接口
- 3、命名空间
- 4、结构体/类
- 5、变量
- (1)局部变量
- (2)全局变量
- (3)静态变量
- (4)类成员变量
- (5)类静态变量
- (6)常量
- 5、宏定义
- 6、枚举
对于C++代码,每个人的风格和习惯各不尽相同,但是为了在项目中形成一个统一的,阅读性比较好的代码,这里参考了主要的开源代码、国内外各大厂以及以往的项目经验,这里对C++代码的命名进行了一个约定规范。
1、目录/文件规范:使用小写字母、数字、下划线,多个单词间用下划线分隔。
原因:Windows对目录和文件是大小写不区分的,而Linux是大小写区分的。为了达到平台统一,这里规定都使用小写字母。
示例:
目录:app_cxx/proc_ui/src/filewall 文件:firewall_mgr.h、main.cpp、nfsv2.cpp2、函数/接口
规范:使用小驼峰命名法。
原因:大部分著名的开源项目以及大厂对外提供的API都是这样的命名规范。
示例:
int test()
{
return 0;
}
int getLocalPort()
{
return 4335;
}
3、命名空间
规范:使用小写字母、数字、下划线,多个单词间用下划线分隔**(尽量只使用一个单词)**,
原因:
示例:
namespace logger
{
}
4、结构体/类
规范:使用大驼峰命名法,不包含下划线
原因:
示例:
struct SendData
{
};
class LoggerManager
{
};
5、变量
规范:使用小驼峰命名法。
(1)局部变量示例:
void test()
{
int reqNum = 0;
}
(2)全局变量
补充:需要加前缀g_
示例:
int g_reqNum= 0;(3)静态变量
补充:需要加前缀s_
示例:
void test()
{
static int s_reqNum = 0;
}
补充:当它同时也是全变量时使用全局变量的命名方式
示例:
int g_reqNum = 0;(4)类成员变量
补充:需要加前缀m_
示例:
class ServerInfo
{
private:
int m_reqNum
}
(5)类静态变量
补充:需要加前缀s_
示例:
class ServerInfo
{
private:
static int s_reqNum;
}
(6)常量
补充:需要大写字母
原因:
示例:
const int MAX_NUM = 1024;5、宏定义
规范:需要大写字母
原因:
示例:
#define CACHE_PATH "/data/cache"6、枚举
规范:枚举名使用大驼峰命名法,枚举值需要大写字母
原因:
示例:
enum ResultType
{
OK,
OPEN_FAIL,
UNKNOW
};



