Google C++命令规范
最近发现自己在开发程序的过程中,经常会将好几种命名规范进行混用,这样使得程序的可读性下降,于是乎依然决定学习并使用Google的命令规范,并且坚持使用。
copy from https://www.cnblogs.com/chensheng-zhou/p/5127415.html
6:命令规则
命令规则的一致性很重要
6.1 通用命名规则
函数命名,变量命名,文件命令要有描述性,少用缩写。
int price_count_reader;
int num_errors;
int num_dns_connections;
6.2 文件命名
文件命名要全部小写,可以包含下划线(_)或连字符(-)。按项目约定来,如果并没有项目约定,"_"更好。
*my_useful_class.cc
C++文件要以.cc结尾,头文件以.h结尾。专门插入文本的文件则以.inc结尾。
尽量让文件名更加明确.http_server_logs.h就比logs.h好。
6.3类型命名
类型名称的每个单词首字母均大写,不包含下划线:MyExcitingClass,MyExcitingEnum.
class UrlTable{...
class UrlTableTester{...
struct UrtTableProperties{...
6.4 变量命名
变量名一律小写,单词之间用下换线连接。类的成员以下划线结尾,但结构体的就不用。
如:a_local_variable,a_local_data_member_.
普通变量:
string table_name;
string tablename
类数据成员:
class TableInfp]o{
...
private:
string table_name_;
string tablename_;
static Pool<TableInfo>* pool_;
};
6.5 常量命名
在全局或类里的常量名称前加k:kDaysInAWeek,且除去开头的k之外每个单词开头字母均大写。
6.6 函数命名
常规函数使用大小写混合,取值和设值函数则要求与变量名匹配:
MyExcitingFunction()
常规函数:
函数名的每个单词首字母大写,没有下划线。
如果你的某函数出错是就要直接crash,那么就在函数名上OrDir,但这函数本身必须集成在产品代码里,且平时也可能会出错.
AddTableEntry()
OpenFileOrDie()
取值和设置函数:
取值(Accessors)和设置(Mutators)函数要与存取的变量名匹配。
class MyClass{
public:
...
int num_entries() const{ return num_entries_;}
void set_num_entries(int num_entries){ num_entires_ = num_entries;}
privte:
int num_entries_;
};
6.7 命名空间
命名空间基于项目名称和目录结构:google_awesome_project.
6.8 枚举命令
枚举的命名应当和常量或宏一致:KEnumName或者ENUM_NAME
6.9 宏命名
Google C++命令规范的更多相关文章
- Google C++命名规范
时间:2014.03.02 地点:基地 -------------------------------------------------------------------------------- ...
- 你可能不知道的Google Chrome命令行参数
概述: 关于Google Chrome命令行参数(英文叫Google Chrome Command line switches),是Chrome为了实现实验性功能.方便调试. ...
- Google搜索命令语法大全
以下是目前所有的Google搜索命令语法,它不同于Google的帮助文档,因为这里介绍 了几个Google不推荐使用的命令语法.大多数的Google搜索命令语法有它特有的使用格式,希望大家能正确使用. ...
- 给Linux添加google搜索命令
一次面试时,面试官问怎么在终端直接做到在百度搜索自己的名字,当时没回答出来,面试官给了提示,问http协议.答案是说telnet连接www.baidu.com之后GET 昨天偶然看到一篇博客,http ...
- Google Python命名规范
Google Python命名规范 module_name, 模块 package_name, 包 ClassName, 类 method_name, 方法 ExceptionName, ...
- Google C++ 编码规范
刚刚看到一位博主的文章分享Google C++ 编码规范 本人做一下记录,方便以后学习.. 中文在线版本地址: http://zh-google-styleguide.readthedocs.io/e ...
- Google Python 命名规范
Google Python命名规范 module_name, 模块 package_name, 包 ClassName, 类 method_name, 方法 ExceptionName, ...
- Google开源命令行参数解析库gflags
Google开源命令行参数解析库gflags http://blog.csdn.net/lming_08/article/details/25072899 CMDLINE的解析 http://blog ...
- Google C++ 编码规范(中文版)
Google C++ 编码规范(英文)在线地址:http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml 中文版PDF下载:本地下载
随机推荐
- Oracle12C版本安装步骤
一.下载路径 http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html file1,file ...
- 利用express托管静态文件
通过express内置的express.static可以方便的托管静态文件,例如图片.css.javascript文件等. 将静态资源文件所在的目录作为参数传递给express.static中间件就可 ...
- c/c++编译和链接过程
编译器把一个cpp编译为目标文件的时候,除了要在目标文件里写入cpp里包含的数据和代码,还要至少提供3个表:未解决符号表,导出符号表和地址重定向表. 未解决符号表提供了所有在该编译单元里引用但是定义并 ...
- 基于.NET平台常用的框架整理 【转载】
[转载] http://www.cnblogs.com/hgmyz/p/5313983.html 自从学习.NET以来,优雅的编程风格,极度简单的可扩展性,足够强大开发工具,极小的学习曲线,让我对这个 ...
- [转]MyBatis中resultType与resultMap区别
MyBatis中关于resultType和resultMap的具体区别如下: MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap.resu ...
- 一道Linux 面试题
一个文本文件info.txt的内容如下:aa,201zz,502bb,1ee,42每行都是按照逗号分隔,其中第二列都是数字,请对该文件按照第二列数字从大到小排列 答案:cat info.txt|awk ...
- vs2013 使用vs2017的localdb
应用vs203进行MVC开发时,进行数据库初始化的时候,默认使用电脑中高版本的localdb(v12),在修改web.config中的链接串时报错,也无法使能数据库迁移, 解决方法:在数据库初始化之前 ...
- java 标准输入输出System.in与System.out
System.in System.in 是 InputStream 类的实例对象,该对象的创建是由本地(native)方法完成的. public static final InputStream in ...
- Azure China (13) Azure China CDN经验总结
<Windows Azure Platform 系列文章目录> 最近处理了很多CDN的问题,在这里记录一下. 1.首先介绍一下CDN的原理: (1)用户输入需要访问的URL (比如www. ...
- 注册表项关于start参数的说明
start = {0,1,2,3,4}0 == 由核心装载器装载1 == 由I/O子系统装载2 == 自动启动3 == 手工启动4 == 禁止启动