Google C++ Style Guide : 变量与函数名

文章目录

  • [1. 类型命名](#1. 类型命名)
  • [2. 宏或常量](#2. 宏或常量)
    • [2.1 宏](#2.1 宏)
    • [2.2 全局或静态 const 常量](#2.2 全局或静态 const 常量)
    • [2.3 枚举常量](#2.3 枚举常量)
  • [3. 变量或函数](#3. 变量或函数)
    • [3.1 全局](#3.1 全局)
    • [3.2 局部](#3.2 局部)
    • [3.3 成员变量或函数](#3.3 成员变量或函数)
  • [4. 文件](#4. 文件)
  • [5. 数字](#5. 数字)

以下命名方式介绍,参考Google C++ Style Guide。

1. 类型命名

C++中类型命名,包括class,struct,enum 等,一般采用Pascal case,即大驼峰命名法。

cpp 复制代码
class StudentInfo;
struct StudentInfo;
enum WorkDay;
enum class WorkDay;

2. 宏或常量

2.1 宏

C++中,宏使用大写 + 下划线

不过C++中,尽量减少宏的使用,而改用inline内联函数或const常量替代。

cpp 复制代码
#define MAX 5
#define ADD(x,y) ((x) + (y))

2.2 全局或静态 const 常量

C++中,全局或静态的constconstexpr 常量推荐使用kCamelCase ,即以小写k开头,实际变量名使用大驼峰。

cpp 复制代码
const int kNum = 5;
constexpr int kManNum = 10;

2.3 枚举常量

枚举常量同样推荐使用kCamelCase

cpp 复制代码
enum Day {
	kMonday
	kTuesday
};

enum class Day {
	kMonday
	kTuesday
};

3. 变量或函数

3.1 全局

全局函数使用大驼峰命名

全局变量分mutableimmutable

immutable全局变量,即constconstexpr常量,命名方式为k + 大驼峰
mutable全局变量,命名方式为:以g开头,所有字母小写,单词之间以下划线连接,变量名结尾无下划线。

cpp 复制代码
const int kNum = 5;
constexpr int kManNum = 10;
int g_num = 5;
int g_man_num = 10;

3.2 局部

局部变量命名方式为:所有字母小写 + 单词之间以下划线连接,变量名结尾无下划线。

cpp 复制代码
int man_num = 0;
int woman_num = 0;

3.3 成员变量或函数

成员函数,无论静态与否,同普通函数的命名方式一致,为大驼峰。

成员变量,如果是普通成员变量或非const的静态成员变量 ,命名方式为:所有字母小写 + 单词间以下划线连接 + 下划线结尾

成员变量,如果是const静态成员变量 ,则同全局或static常量的命名方式

4. 文件

文件命名方式推荐:全字母小写 + 单词下划线连接 + 无下划线结尾

5. 数字

如果在命名时需添加数字,那么直接将数字紧跟相应变量名中的相应单词后即可,不影响其余规则。

相关推荐
XiaoLeisj14 分钟前
Android Kotlin 全链路系统化指南:从基础语法、类型系统与面向对象,到函数式编程、集合操作、协程并发与 Flow 响应式数据流实战
android·开发语言·kotlin·协程
dapeng28701 小时前
分布式系统容错设计
开发语言·c++·算法
qq_417695051 小时前
代码热修复技术
开发语言·c++·算法
badhope6 小时前
Mobile-Skills:移动端技能可视化的创新实践
开发语言·人工智能·git·智能手机·github
码云数智-园园7 小时前
微服务架构下的分布式事务:在一致性与可用性之间寻找平衡
开发语言
C++ 老炮儿的技术栈8 小时前
volatile使用场景
linux·服务器·c语言·开发语言·c++
hz_zhangrl8 小时前
CCF-GESP 等级考试 2026年3月认证C++一级真题解析
开发语言·c++·gesp·gesp2026年3月·gespc++一级
Liu628888 小时前
C++中的工厂模式高级应用
开发语言·c++·算法
IT猿手8 小时前
基于控制障碍函数的多无人机编队动态避障控制方法研究,MATLAB代码
开发语言·matlab·无人机·openclaw·多无人机动态避障路径规划·无人机编队
AI科技星8 小时前
全尺度角速度统一:基于 v ≡ c 的纯推导与验证
c语言·开发语言·人工智能·opencv·算法·机器学习·数据挖掘