谷歌开源项目代码风格:C++

谷歌开源项目代码风格:C++

命名约定

  1. 文件命名:文件名应全部小写,可包含下划线(_)或连字符(-)。例如,my_useful_class.cc
  2. 类型命名:类型名称(包括类、结构体、类型定义、枚举、类型模板参数)的每个单词首字母大写,不包含下划线。例如,MyExcitingClass
  3. 变量命名:变量名(包括函数参数)和数据成员名全部小写,单词之间用下划线连接。类的数据成员以下划线结尾,结构体的则不用。例如,a_local_variablea_class_data_member_
  4. 常量命名:用k开头,大小写混合。例如,kDaysInAWeek
  5. 函数命名:常规函数使用大小写混合,取值和设值函数则要求与变量名匹配。例如,MyExcitingFunction()my_exciting_member_variable()
  6. 命名空间命名:命名空间以小写字母命名,顶级命名空间的名字取决于项目名称。例如,myproject::mymodule

注释

  1. 文件注释:每个文件开头应包含文件内容描述。
  2. 类注释:每个类定义前应包含注释,描述类的功能和用法。
  3. 函数注释:函数声明处的注释描述函数功能;定义处的注释描述函数实现。
  4. 变量注释:类数据成员和全局变量应有注释说明用途。
  5. 实现注释:对于代码中巧妙的、晦涩的、重要的部分加以注释。
  6. TODO注释:使用TODO标记临时解决方案或不完美的代码。
  7. 弃用注释:使用DEPRECATED标记已弃用的接口,并提供替代方案。

  1. 构造函数:不在构造函数中调用虚函数,不在没有错误处理机制的情况下进行可能失败的初始化。
  2. 继承:通常情况下,组合比继承更合适。使用public继承,并明确使用override或final关键字限定重写的虚函数。
  3. 运算符重载:谨慎使用运算符重载,确保重载的运算符意义明确且符合常理。
  4. 访问控制:类的私有成员应声明为私有,除非是常量。

函数

  1. 输入和输出:倾向于按值返回,否则按引用返回。避免返回指针,除非它可以为空。
  2. 编写简短函数:如果函数超过40行,考虑是否可以分割。
  3. 函数重载:如果函数重载,应让读者一看调用点就清楚调用的是哪个重载函数。
  4. 缺省参数:只允许在非虚函数中使用缺省参数,且必须保证缺省参数的值始终一致。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值