程序开发基础学习二(C++ Google Style 命名规则)
2012-04-09 16:44
435 查看
无规矩不成方圆,新的岗位就需要服从团队的编码规则。很开心团队用的是Google的C++编码规则,大概看了下Google 的编码规则,正如九天翔雁说的:“Google的
C++ Style Guide远不仅是一个传统意义上的代码书写风格指导,对于C++的方方面面做出了Google的解释和使用建议,包括每个规则给出时,较为详细的讲了这个规则好的一面和不好的一面,最最激进的规则甚至有禁用C++的异常,以及除了Google规范的Interface作为基类外,禁用多重继承,在绝大部分情况下禁用默认参数等内容。在很大程度上,Google是想把C++打造成效率高的JAVA来使用~~~~”。中文版的Google
C++ Style Guide有五万字之多,今天总结一下最常用的命名规则。
1、文件命名规则
由于在写程序的时候首先要建立一个文件,好的文件名命名可以很清晰的看出这个文件将要承载的内容,Google给出的规则为:”文件名要全部小写,
可以包含下划线 (_)
或连字符 (-).
按项目约定来,例如:cmd_save_player_info“
我自己喜欢下划线方式的命名规则,同时大家在命名的时候要防止和标准库里的函数名冲突。
2、类命名规则
类是用户自定义的数据类型,Google给出的规则为:“类型名称的每个单词首字母均大写,
不包含下划线: ModPlayerManager”
对于所有类型命名--类、结构体、枚举、类型定义(typedef),均使用相同约定。
3、变量命名规则
Google给出的规则为:“变量名一律小写,
单词之间用下划线连接. 类的成员变量以下划线结尾, 如:player_id”。
比较特殊的是成员变量后面跟下划线,例如:player_name_。全局变量前加g_,例如g_system_time。
4、常量命名规则
对于常量,Google给出的规则为:“ k 后接大写字母开头的单词,例如:kPlayerName”。
5、函数命名规则
对于函数,Google给出的规则为:“常规函数使用大小写混合,
取值和设值函数则要求与变量名匹配”。
常规函数的话单词开头大写,例如:CheckPlayerCookie()。
成员变量设置和获取函数有点特殊,看下面代码:
[cpp] view
plaincopy
class Player
{
public:
void set_player_id(const int player_id){return player_id_ = player_id;}
int get_player_id() const{return player_id_;}
private:
int player_id_;
};
6、名字空间命名规则
对于名字空间,Google给出的规则为:“名字空间用小写字母命名,
并基于项目名称和目录结构: google_awesome_project.”。
7、枚举命名规则
对于枚举,Google给出的规则为:“枚举的命名应当和 常量 或 宏 一致: kEnumName 或是 ENUM_NAME.”。
8、宏变量命名规则
对于宏变量,Google给出的规则为:“你并不打算 使用宏,
对吧? 如果你一定要用, 像这样命名: MY_MACRO_THAT_SCARES_SMALL_CHILDREN.”。
命名规则常用的就这些,当然了我还没有正真实践过这种命名规则,相对于以前用的匈牙利命名法,看不出来优点在那里。但既然Google这样做应给有他们的道理,不管喜欢那种风格,和团队保持统一就是好的风格。
参考文章:http://codinn.com/projects/google-cpp-styleguide/view/contents.html
Google
C++风格指南-中文版
C++ Style Guide远不仅是一个传统意义上的代码书写风格指导,对于C++的方方面面做出了Google的解释和使用建议,包括每个规则给出时,较为详细的讲了这个规则好的一面和不好的一面,最最激进的规则甚至有禁用C++的异常,以及除了Google规范的Interface作为基类外,禁用多重继承,在绝大部分情况下禁用默认参数等内容。在很大程度上,Google是想把C++打造成效率高的JAVA来使用~~~~”。中文版的Google
C++ Style Guide有五万字之多,今天总结一下最常用的命名规则。
1、文件命名规则
由于在写程序的时候首先要建立一个文件,好的文件名命名可以很清晰的看出这个文件将要承载的内容,Google给出的规则为:”文件名要全部小写,
可以包含下划线 (_)
或连字符 (-).
按项目约定来,例如:cmd_save_player_info“
我自己喜欢下划线方式的命名规则,同时大家在命名的时候要防止和标准库里的函数名冲突。
2、类命名规则
类是用户自定义的数据类型,Google给出的规则为:“类型名称的每个单词首字母均大写,
不包含下划线: ModPlayerManager”
对于所有类型命名--类、结构体、枚举、类型定义(typedef),均使用相同约定。
3、变量命名规则
Google给出的规则为:“变量名一律小写,
单词之间用下划线连接. 类的成员变量以下划线结尾, 如:player_id”。
比较特殊的是成员变量后面跟下划线,例如:player_name_。全局变量前加g_,例如g_system_time。
4、常量命名规则
对于常量,Google给出的规则为:“ k 后接大写字母开头的单词,例如:kPlayerName”。
5、函数命名规则
对于函数,Google给出的规则为:“常规函数使用大小写混合,
取值和设值函数则要求与变量名匹配”。
常规函数的话单词开头大写,例如:CheckPlayerCookie()。
成员变量设置和获取函数有点特殊,看下面代码:
[cpp] view
plaincopy
class Player
{
public:
void set_player_id(const int player_id){return player_id_ = player_id;}
int get_player_id() const{return player_id_;}
private:
int player_id_;
};
6、名字空间命名规则
对于名字空间,Google给出的规则为:“名字空间用小写字母命名,
并基于项目名称和目录结构: google_awesome_project.”。
7、枚举命名规则
对于枚举,Google给出的规则为:“枚举的命名应当和 常量 或 宏 一致: kEnumName 或是 ENUM_NAME.”。
8、宏变量命名规则
对于宏变量,Google给出的规则为:“你并不打算 使用宏,
对吧? 如果你一定要用, 像这样命名: MY_MACRO_THAT_SCARES_SMALL_CHILDREN.”。
命名规则常用的就这些,当然了我还没有正真实践过这种命名规则,相对于以前用的匈牙利命名法,看不出来优点在那里。但既然Google这样做应给有他们的道理,不管喜欢那种风格,和团队保持统一就是好的风格。
参考文章:http://codinn.com/projects/google-cpp-styleguide/view/contents.html
C++风格指南-中文版
相关文章推荐
- 程序开发基础学习二(C++ Google Style 命名规则)
- [转]程序开发基础学习二(C++ Google Style 命名规则)
- 程序开发基础学习二(C++ Google Style 命名规则)
- 程序开发基础学习二(C++ Google Style 命名规则)
- 程序开发基础学习二(C++ Google Style 命名规则)
- C++学习笔记-后台服务程序开发模式
- c++基础学习 - 命名空间
- EA&UML日拱一卒-0基础学习微信小程序(9)-C++程序员眼中的app.js
- Java基础学习之Java基本语法(1)【Java命名规范+程序执行过程】
- iPad平板电脑程序开发基础规则
- 黑马程序员_C#基础知识学习笔记:变量的使用和命名规则
- C++基础学习2:命名空间
- 东翌编程推出手把手0基础学习微信小程序开发
- 程序开发中版本管理之命名规则及格式
- C++基础学习之10 - 插件开发
- 嵌入式开发之C++基础学习笔记5--静态成员,友元,运算符重载,模板,文件流
- c++基础学习第二天(c++程序的结构)
- 简单搞一下 Oracle 程序开发 命名规则!
- 程序开发中版本管理之命名规则及格式
- EA&UML日拱一卒-0基础学习微信小程序(4)- 安装开发工具