最近发现自己在开发程序的过程中,经常会将好几种命名规范进行混用,这样使得程序的可读性下降,于是乎依然决定学习并使用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++命令规范的更多相关文章

  1. Google C++命名规范

    时间:2014.03.02 地点:基地 -------------------------------------------------------------------------------- ...

  2. 你可能不知道的Google Chrome命令行参数

    概述:              关于Google Chrome命令行参数(英文叫Google Chrome Command line switches),是Chrome为了实现实验性功能.方便调试. ...

  3. Google搜索命令语法大全

    以下是目前所有的Google搜索命令语法,它不同于Google的帮助文档,因为这里介绍 了几个Google不推荐使用的命令语法.大多数的Google搜索命令语法有它特有的使用格式,希望大家能正确使用. ...

  4. 给Linux添加google搜索命令

    一次面试时,面试官问怎么在终端直接做到在百度搜索自己的名字,当时没回答出来,面试官给了提示,问http协议.答案是说telnet连接www.baidu.com之后GET 昨天偶然看到一篇博客,http ...

  5. Google Python命名规范

    Google Python命名规范 module_name,  模块 package_name,  包 ClassName,  类 method_name,  方法 ExceptionName,    ...

  6. Google C++ 编码规范

    刚刚看到一位博主的文章分享Google C++ 编码规范 本人做一下记录,方便以后学习.. 中文在线版本地址: http://zh-google-styleguide.readthedocs.io/e ...

  7. Google Python 命名规范

    Google Python命名规范 module_name,  模块 package_name,  包 ClassName,  类 method_name,  方法 ExceptionName,    ...

  8. Google开源命令行参数解析库gflags

    Google开源命令行参数解析库gflags http://blog.csdn.net/lming_08/article/details/25072899 CMDLINE的解析 http://blog ...

  9. Google C++ 编码规范(中文版)

    Google C++ 编码规范(英文)在线地址:http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml 中文版PDF下载:本地下载

随机推荐

  1. linux centos 安装php的memcache扩展

    一.centos6.5 yum安装php的memcache扩展 搜索memcache yum search memcache 有了,现在可以安装了 yum -y install memcached m ...

  2. BeanShell用法(摘抄至网络)

    说明:本文部分资料摘抄至 来源: http://www.cnblogs.com/puresoul/p/4915350.html 来源: http://www.cnblogs.com/puresoul/ ...

  3. ASP.NET AJAX入门系列(11):在多个UpdatePanle中使用Timer控件

    本文将使用Timer控件更新两个UpdatePanel控件,Timer控件将放在UpdatePanel控件的外面,并将它配置为UpdatePanel的触发器,翻译自官方文档. 主要内容 在多个Upda ...

  4. npm是什么

    npm简介 维基百科中npm定义 npm完全用JavaScript写成,最初由艾萨克·施吕特(Isaac Z. Schlueter)开发. 艾萨克表示自己意识到"模块管理很糟糕"的 ...

  5. Visual Studio: 一键卸载所有组件工具,彻底卸载干净。

    第一步.手动卸载VS主体 第二步.下载工具并解压 网盘下载地址:https://pan.baidu.com/s/1eSHRYxW 也可以在Github上下载最新版本:https://github.co ...

  6. 使用Tesseract-OCR 进行文字识别

    关于中文的识别,效果比较好而且开源的应该就是Tesseract-OCR了,所以自己亲身试用一下,分享到博客让有同样兴趣的人少走弯路. 文中所用到的身份证图片资源是百度找的,如有侵权可联系我删除. 一. ...

  7. python条件判断,真假

    整形 非0即真 字符串 非空即真 列表,元组,字典,集合为空时 为假 函数 返回值为空(即函数中只写了return后面没参数),为0(即return 0),为空的列表,字典,集合.那么条件判断函数也是 ...

  8. Maven Docker部署

    镜像构建方式 docker-maven-plugin插件构建docker镜像有两种方式: 1. 指定参数,由docker-maven-plugin插件根据这些参数来制作镜像: 2. 指定Dockerf ...

  9. 黄聪:微信公众平台开发OAuth2.0网页授权(转)

    微信公众平台开发 OAuth2.0网页授权认证 网页授权获取用户基本信息 作者:方倍工作室 微信公众平台最近新推出微信认证,认证后可以获得高级接口权限,其中一个是OAuth2.0网页授权,很多朋友在使 ...

  10. windows下网络丢包模拟软件(Network Emulator for Windows Toolkit)

    最近公司有一个直播的测试项目,需要模拟各种网络环境下的直播状态,最后找到一款这样的软件(如果有遇到更好的软件,望和网友多多交流) 介绍一款windows下的网络模拟器,可以模拟各种丢包或延迟的网络(N ...