zoukankan      html  css  js  c++  java
  • 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 宏命名

    作者:长风 Email:844064492@qq.com QQ群:607717453 Git:https://github.com/zhaohu19910409Dz 开源项目:https://github.com/OriginMEK/MEK 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利. 感谢您的阅读。如果觉得有用的就请各位大神高抬贵手“推荐一下”吧!你的精神支持是博主强大的写作动力。 如果觉得我的博客有意思,欢迎点击首页左上角的“+加关注”按钮关注我!
  • 相关阅读:
    LeetCode 43. 字符串相乘(Multiply Strings)
    LeetCode 541. 反转字符串 II(Reverse String II)
    枚举类型
    c#字母加密
    汇率兑换Python
    冒泡排序c#
    c#
    HTML
    日历
    Java2
  • 原文地址:https://www.cnblogs.com/zhaohu/p/8504904.html
Copyright © 2011-2022 走看看