Google C++编程规范讲解
程序员文章站
2022-07-02 20:10:15
个人认为google的C++编码规范实用性强,相交于微软的编码规范更加简单明了,我个人也是按照google的C++编码规范进行编码的。
一、文件命名
文件名要全部小写,可以包含...
个人认为google的C++编码规范实用性强,相交于微软的编码规范更加简单明了,我个人也是按照google的C++编码规范进行编码的。
一、文件命名
文件名要全部小写,可以包含下划线(_)或短线(-)。
my_useful_class.cc my-useful-class.cc myusefulclass.cc
二、类型命令
类型命名每个单词以大写字母开头,不包含下划线:MyExcitingClass、 MyExcitingEnum。
所有类型命名——类、结构体、类型定义(typedef)、枚举——使用相同约定,例如:
// classes and structs class UrlTable { ... class UrlTableTester { ... struct UrlTableProperties { ... // typedefs typedef hash_mapPropertiesMap; // enums enum UrlTableErrors { ...
三、变量命名
变量名一律小写,单词间以下划线相连。
3.1. 普通变量命名
string table_name;
3.2. 类数据成员命名,以下划线结尾
string name_;
3.3. 结构体数据成员命名,可以和普通成员一样,不用像类那样接下划线结尾:
struct UrlTableProperties { string name; int num_entries; }
3.4. 全局变量命名,以g_为前缀
string g_name;
3.5. 常量命名,k后接大写字母开头的单词
const int kDaysInAWeek = 7;
四、函数命名
4.1. 普通函数,函数名以大写字母开头,每个单词首字母大写,下划线分隔
int AddTableEntry() bool DeleteUrl()
4.2. 存取函数,要与存取的变量名相匹配
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_; };
五、命名空间
命名空间的名称是全小写的,其命名基于项目名称和目录结构:google_awesome_project
六、枚举命名
枚举值全部大写,单词间以下划线相连;枚举名称属于类型,因此大写混合:
enum UrlTableErrors { OK = 0, ERROR_OUT_OF_MEMORY, ERROR_MALFORMED_INPUT, };
上一篇: 体检时发生的爆笑趣事
推荐阅读
-
C++高级编程之对象模型、const、new和delete及其重载讲解
-
javascript模块化编程之AMD模块化编程规范实例讲解
-
C++ & Python 混合编程之Python 调用 C++(SWIG)实例讲解
-
C/C++编程笔记:数据类型中 float 和 double 的区别!细节讲解
-
Google C++编程风格指南
-
C++面向对象编程之对象模型(objectmodel)关于vptr和vtbl的讲解
-
C++模板编程、单重继承、多重继承格式及构造函数值传递、运算符重载等难点讲解
-
Google C++编程规范讲解
-
Google C++ 编码规范
-
Google资深工程师深度讲解Go语言-Goroutine并发编程(九)