Google C++ style guide——命名约定

1.通过命名规则

函数命名、变量命名、文件命名应具有描写叙述性。

类型和变量应该是名词,函数名能够用“命令性”动词。





2.文件命名

文件名称所有小写,能够包括下划线(_)或者断线(-)。

foo_bar.h、foo_bar.cc

类型命名

每一个单词以大写字母开头,不包括下划线。MyClass





3.类型命名

全部类型命名——类、结构体、类型定义、枚举——使用同样约定。class FooClass{...}、enum FooType{...}





4.变量命名

变量名一律小写,单词间下面划线相连,类的成员变量下面划线结尾。

my_value、my_value_。

结构体的数据成员能够和普通变量一样,不用像类那样接下划线。

全局变量能够以g_为前缀。

5.常量命名

(不管是局部的、全局的还是类中的)以k为前缀。k后接大写字母开头的单词。





6.函数命名

普通函数名以大写字母开头,每一个单词首字母大写。没有下划线。

存取函数要与存取的变量名匹配。例:

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_;

}





其它短小的内联函数名也能够使用小写字母。

小写的函数名意味着能够直接内联使用。

7.命名空间

命名空间的名称是全小写。其命名基于项目名称和文件夹结构。





8.枚举命名

枚举值应所有大写。单词间下面划线相连。

枚举名称属于类型,因此大写和小写混合。

例:

enum UrlTableErrors

{

OK = 0,

ERROR_OUT_OF_MEMORY,

ERROR_MALFORMED_INPUT

}





9.宏命名

所有大写。单词间使用下划线。

上一篇:php面试题之二——数据结构和算法(高级部分)


下一篇:使用jqgrid的C#/asp.net mvc开发者的福音 jqgrid-asp.net-mvc