栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

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

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

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

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    谷歌系

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/768553.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号