Google C++ style guide——命名约定
2016-01-27 12:15
344 查看
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.宏命名
所有大写。单词间使用下划线。
函数命名、变量命名、文件命名应具有描写叙述性。
类型和变量应该是名词,函数名能够用“命令性”动词。
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.宏命名
所有大写。单词间使用下划线。
相关文章推荐
- C++虚函数和虚继承浅析
- C++【常见面试题】String类的实现,以及深拷贝、浅拷贝问题
- USACO:Factorials
- 0723-0802 C语言笔记(李明杰前8天)
- C++【String类】String头插单个字符,头删单个字符的函数实现
- C++调用C#dll类库中的方法(非显性COM)
- C语言中常见排序算法汇总
- C++【String类】String插入单个字符,插入字符串的函数实现
- c++中优化内存分配:new/delete操作符;allocator类对象的使用;operator new/operator delete函数及定位new表达式
- C++【String类】String删除单个字符,删除字符串的函数实现
- C++【String类】String查找单个字符,查找字符串的函数实现
- C/C++宏定义中#与##区别
- C语言 二维数组复制、清零及打印显示
- C语言char s[] 和 char *s的差别
- 深度学习(七)caffe源码c++学习笔记
- C语言 动态创建二维数组
- [土狗之路]coursera C语言基础12周(期末考试)作业
- C语言实现对bmp格式图片打码
- C++中的容器类详解
- C++11 std::function用法