Google C++代码风格学习笔记

1.头文件

1.用#ifndef,#define,#endif来避免头文件中定义的多重包含
2.前置声明
3.函数一旦不需要内联,其定义就不要放在.h文件中,应放在.cpp文件中,可以更好地贯彻声明与定义分离的原则
4.#include最好插入空行分割相关头文件,顺序为C库,C++库,其他库的.h文件,本项目内的.h文件
例://foo.cc包含头文件的次序(foo.cc是foo.h的实现文件)

foo.h  //优先位置

C库文件

c++库文件

其他库.h文件

本项目内的.h文件

2.作用域

2.1 命名空间

1.遵循命名空间命名的规则
2.在命名空间的最后注释命名空间的名字
3.分隔
4.不要在命名空间std内声明任何东西
5不应该使用using指示引入整个命名空间的标识符号,会污染命名空间

2.2 非成员函数、静态成员函数和全局函数

尽量不要用全局函数与全局变量

2.3 局部变量

将函数变量尽可能置于最小作用域内,并在变量声明时初始化。

3.类

4.函数

4.1 函数参数顺序

总体来说,输入参数在前,输出参数在后

4.2 编写简短函数

4.3 引用参数

4.4 函数重载

4.5 缺省参数

4.6 函数返回类型后置语法

5 命名规定

命名风格能让我们在不需要去查找类型声明的条件下快速了解到每个名字的类型。

5.1文件命名

文件名全部小写,可以包含下划线(_)或连字符(-),_更好。
例如:
  my_useful_class.cc
尽量让文件名更加明确。

5.2 类型命名

类型名称每个单词的首字母都大写,不包含下划线(_),类,结构体,类型模板参数,均使用相同约定,例如:
  class UrlTableTester{}
  enum UrlTableErrors

5.3 变量命名

变量和数组成员名一律小写,单词之间用下划线连接.类变量成员以下划线_结尾,但结构体的不用

5.4 常量命名

声明为constexpr或const的变量,或者在程序运行期间其值时钟保持不变的,命名时以"k"开头,大小写混合。 例:const int kDaysInWeek = 7;
所有静态存储类型的变量(如静态变量或全局变量)都应当以此方式命名

5.5 函数命名

常规函数使用大小写混合,取值和设值函数则要求与变量名匹配:MyExcitingFunction(),MyExcitingMethod,my_exciting_member_variable(),set_my_Exciting_member_variable。

5.6 命名空间命名

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值