【Google C++编程规范】命名约定(部分)

1. 通用命名规则

具备描述性,适当缩写,类型和变量应该是名词,函数名可以用“命令性”动词

int num_errors; // Good.
int num_completed_connections; // Good.
int price_count_reader; // 无缩写
int num_errors; // "num" 是一个常见的写法
int num_dns_connections; // 人人都知道 "DNS" 是什么
2. 文件命名

文件名要全部小写,,可以包含下划线 (_) 或连字符 (-), 按项目约定来。 如果没有约定, 那么 “_” 更好

my_useful_class.cc
myusefulclass_test.cc
3. 类型命名

所有类型命名 —— 类,结构体,类型定义 (typedef),枚举 —— 均使用相同约定,即以大写字母开始,每个单词首字母均大写,不包含下划线

//类和结构体
class UrlTable { ...
class UrlTableTester { ...
struct UrlTableProperties { ...
//类型定义
typedef hash_map<UrlTableProperties *, string> PropertiesMap;
// using 别名
using PropertiesMap = hash_map<UrlTableProperties *, string>;
// 枚举
enum UrlTableErrors { ...
4. 变量命名

变量 (包括函数参数) 和数据成员名一律小写,单词之间用下划线连接。类的成员变量以下划线结尾,但结构体的就不用,如:

  • a_local_variable
  • a_struct_data_member
  • a_class_data_member_
(1) 普通变量
string table_name; // 好 - 用下划线.
string tablename; // 好 - 全小写.
string tableName; // 差 - 混合大小写
(2) 类数据成员

不管是静态的还是非静态的, 类数据成员都可以和普通变量一样, 但要接下划线

class TableInfo {
 ...
private:
 string table_name_; // 好 - 后加下划线.
string tablename_; // 好.
 static Pool<TableInfo>* pool_; // 好.
};
(3) 结构体变量

不管是静态的还是非静态的, 结构体的数据成员可以和普通变量一样, 不用像类那样接下划线:

struct UrlTableProperties {
 string name;
int num_entries;
static Pool<UrlTableProperties>* pool;
}
(4) 全局变量

对全局变量没有特别要求, 少用就好, 但如果你要用, 可以用 g_ 或其它标志作为前缀, 以便更好的区分局部变量.

5. 常量命名

声明为 constexpr 或 const 的变量, 或在程序运行期间其值始终保持不变的, 命名时以 “k” 开头, 大小写混合

const int kDaysInAWeek = 7;
6. 函数命名

函数名的每个单词首字母大写 (即 “驼峰变量名” 或 “帕斯卡变量名”)

没有下划线

对于首字母缩写的单词,更倾向于将它们视作一个单词进行首字母大写 ,例如, 写作 StartRpc() 而非 StartRPC()

AddTableEntry()
DeleteUrl()
OpenFileOrDie()

全篇下载地址:链接:https://pan.baidu.com/s/1_dZZaS5xXqygRjuXI_1Rcg 密码:hvf1

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值