C/C++命名规范:详解公司内部通用规则

需积分: 19 5 下载量 15 浏览量 更新于2024-09-09 收藏 104KB DOC 举报
C/C++命名规则是编程中至关重要的组成部分,它不仅有助于代码的可读性和维护性,还能提升团队间的协作效率。本文将详细介绍C/C++中的一套较为规范的命名约定,这些规则被众多公司内部开发团队广泛采用。 1. **名称格式**: 遵循"谁—做什么"的原则,函数名应该清晰地表达其功能。例如,`avHeadsetConnectKalimbaToPcm`函数表示音频设备连接操作。对于函数名,通常采用模块名(小写)加上操作或描述性名称的形式。此外,宏常使用大写模块名后跟下划线和名称,如`AV_HEADSET_CONNECT_KALIMBA_TO_PCM`。 2. **变量命名**: - **全局变量**:使用前缀`g_`,如`g_uiCount`,表示全局变量。 - **成员变量**: - 类成员:前缀`m_`,如`m_uiCount`。 - 结构体变量:结构体名称本身,如`uiCount`,如果在结构体内部,可以省略结构体名前缀。 - **局部变量**:直接使用类型+名称,如`uiCount`。 - **函数参数**:与局部变量类似,类型+名称,如`uiCount`。 - **静态变量**:`s_`前缀,如`s_uiCount`。 3. **变量类型**: - **标准类型**:包括`Char`(c)、`Uchar`(uc)、`Int`(i)、`Uint`(ui)、`func`(函数指针),以及一些特定的类型如`DWORD`(无符号长整数)和`BOOL`(布尔类型)。 - **自定义数据结构**:使用数据结构名的缩写和小写,例如`struct_sLinkHeader`,结构体名后加下划线,如`sLinkHeader`;类名用_c,枚举名用_e,联合名用_u。 4. **Typedef**: 使用`typedef`来创建别名,如`t_sLinkHeader`,用于简化类型定义。例如,`typedef struct_sLinkHeader{} t_sLinkHeader;`定义了一个名为`t_sLinkHeader`的新类型,它实际上就是`struct_sLinkHeader`类型的别名。 5. **命名规则示例**: - 变量名`g_dwMaxBufferSize`表示全局的、最大缓冲区大小的无符号长整数。 - 类成员`m_cClassInstance`代表类的实例计数器。 - 结构体变量`struct_sLinkHeader lh`直接使用结构体名。 遵循这些命名规则,可以使代码在阅读时更易于理解,特别是对于大型项目和团队协作。通过保持一致性,可以减少命名冲突,提高代码质量,降低维护成本。在实际开发中,企业可能会根据自身需求对这些规则进行微调,但整体框架是通用且推荐的。