IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C++命名规则、借鉴阿里和谷歌命名规则 -> 正文阅读

[C++知识库]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?? ?谷歌系

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-03-16 22:04:24  更:2022-03-16 22:05:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 2:43:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码