C++

谷歌代码规范

 Max.C     2020-06-25   1415 words    & views

一、命名规范

命名风格直接确定的命名实体是:类型、变量、函数、常量、宏等等。

函数命名、变量命名、文件名命名具有描述性,不能过度缩写;类型和变量名一般是名词;函数名一般是指令性的,访问函数需要描述的更细致, 要与其访问的变量相吻合。

函数名一般是指令性的,如OpenFile()、set_num_errors(),访问函数需要描述的更细致, 要与其访问的变量相吻合。

1、文件命名

文件名全部小写,可以含下划线或连字符,按项目约定命名,且尽量保证文件名明确。

C++文件以.cc结尾,头文件以.h结尾。且不要用已经存在于/usr/include 下的文件名。

通常,尽量让文件名更加明确,定义类时文件名一 般成对出现,如 foo_bar.hfoo_bar.cc,对应类 FooBar

把类的定义,放在.h文件中,类的实现放在专门的cpp中,内联函数必须放在.h 文件中。

2、类命名

类命名采用驼峰式,每个单词首字母大写,不含下划线,以名词形式

这一命名规则适用于类、结构体、类型定义(typedef)、枚举;

class MyClass{
	//...
};

struct TreeNode{
	//...
};

typedef vector<vector<int>> Mat;

enum UrlTableErrors{
	//...
};

3、变量命名

变量名一律小写,单词间以下划线相连,结构体成员变量同里:

string table_name; 

struct Member{
  	int member_id;
};

类的成员变量以下划线结尾

class Player{
	string player_name_;
	int player_id_;	
}

全局变量可以以 g_为前缀。

int g_sum;

4、常量命名

驼峰式,以大写字母开头的单词,在名称前加k:

const int kDaysInAWeek = 7;

5、函数命名

普通函数:

驼峰式,以大写字母开头,每个单词首字母大写,使用命令式语气,没有下划线:

void AddTableEntry() 
void DeleteUrl() 
bool OpenFile() 
int CheckFileName()

存取函数或短小的内联函数:

与存取的变量名匹配,使用小写加下划线,且与访问变量相吻合:

class MyClass{
  public:
    ...
    int num_entries() const { return num_entries_; }
    void set_num_entries( int num_entries) { num_entries_ = num_entries; }

  private:
    int num_entries_;
};

6、命名空间

命名空间的名称是全小写的,其命名基于项目名称和目录结构:

google_awesome_project

7、枚举命名

枚举类型大小写混合枚举值应全部大写,单词间以下划线相连:

enum UrlTableErrors { 
    OK = 0, 
    ERROR_OUT_OF_MEMORY,
    ERROR_MALFORMED_INPUT
}

8、宏命名

通常情况下宏不应被使用。命名像枚举命名一样全部大写 、 使用下划线:

#define PI_ROUNDED 3.0 

参考资料

【Google代码规范】之——命名约定

谷歌代码规范