欢迎光临散文网 会员登陆 & 注册

C++命名规则、借鉴阿里和谷歌命名规则

2023-04-09 11:48 作者:胖厨z  | 我要投稿

本命名规则结合阿里系和谷歌系命名规则


1,类文件和类命名:(阿里系)

类文件名和类名保持一致,且以大写字母C开头(代表 Class)+类描述,类描述由名词或者形容词+名词组合,每个单词首字母大写.


2,接口命名:(阿里系)

接口的命名以大写字母I开头(代表 Interface )+接口描述,接口描述由名词或者形容词+名词组合,每个单词首字母大写.


3,变量命令:(阿里系)

变量名的命名遵从匈牙利记法。即:作用域前缀 + 类型 + 变量名 如:m_nMaxWidth


作用域前缀:

前缀    说明    例子

无    局部变量    

m_    类的成员变量(member)    Int m_width

ms_    类的静态成员变量(static member)    static int ms_initValue;

s_    静态变量(static)    static int s_initValue;

g_    外部全局变量(global)    int g_howManyPeople;

sg_    静态全局变量(static global)    

gg_    进程间共享的共享数据段全局变量(global global)    


类型:

前缀    说明    例子

b    布尔型变量(bool, BOOL)    bEnable

ch    字符型变量(char TCHAR)    chName

lpsz    LPSTR、LPCSTR、LPCTSTR    lpszName

n    整型和位域变量(int, UINT,__int32,__int64)    nLength

l    long    lOffset

by    BYTE    

w    WORD    wPos

dw    DWORD    dwRange

f    浮点型变量(float)    

d    double    

p    指针型变量和迭代子(pointer)    pDoc

lp    远指针    

e    枚举型变量(enumeration)    

pfn    特别针对指向函数的指针变量和函数对象指针(pointer of function)    

g    数组(grid)    

h    handle Windows对象句柄    hWnd


4,常量命名:(阿里系)

常量名由类型前缀+全大写字母组成,单词间通过下划线来界定,如:cDELIMITER, nMAX_BUFFER。类型前缀的定义与变量命名规则中的相同。


5,函数命名:(谷歌系)

函数的名称由一个或多个单词组成。为便于界定,每个单词的首字母要大写。

类成员函数应当只使用“动词”,被省略掉的名词就是对象本身

推荐的组成形式    函数名应当使用"动词"或者"动词+名词"(动宾词组)的形式。例如:"GetName()", "SetValue()", "Erase()", "Reserve()" ....

保护成员函数    保护成员函数的开头应当加上一个下划线“_”以示区别,例如:"_SetState()" ....

私有成员函数    类似地,私有成员函数的开头应当加上两个下划线“__”,例如:"__DestroyImp()" ....

虚函数    虚函数习惯以“Do”开头,如:"DoRefresh()", "_DoEncryption()" ....

回调和事件处理函数    回调和事件处理函数习惯以单词“On”开头。例如:"_OnTimer()", "OnExit()" ....

全局函数必须以小写前缀"g"开头。


函数形参命名:(自定义)

函数形参的命名采用Camel命名法中的下划线法,形参变量名全部小写.由作用域前缀+'_'+变量名组成.


5,结构体、宏、枚举变量、联合体(阿里系和谷歌系一样)

全部由前缀+大写字母组成,单词间使用下划线界定。


5.1结构体:加小写前缀"tag",之后以大写字母开头。

例:

typedef struct tagPOINT

{

int x;

int y;

} POINT;


5.2宏:宏名加小写前缀"def"

例:#define defMAXNUMBER 100


5.3枚举变量:加小写前缀"enum"。

例:

typedef enum _CFILE_OPEN_MODE

{

enumOPEN_READONLY = 0,

enumOPEN_READWRITE = 1,

enumCREATE_ALWAY = 3

} CFILE_OPEN_MODE;


5.4联合体:加小写前缀"uni"。


例:

typedef union _VARIANT

{

char unichVal;

int uninVal;

float uniftVal;

} VARIANT;


命名规则参考:https://developer.aliyun.com/article/619121  阿里系

https://www.cnblogs.com/chensheng-zhou/p/5127415.html    谷歌系

————————————————

版权声明:本文为CSDN博主「HellowBoy19」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/weixin_40459084/article/details/123502809


C++命名规则、借鉴阿里和谷歌命名规则的评论 (共 条)

分享到微博请遵守国家法律