Google C++代码风格指南翻译简化版(google c++ code style guide)【五】

Google 编程规范本地化、简化。如有需要,可参考 Google C++ code style guide原文:
http://google.github.io/styleguide/cppguide.html

本文档基于网上流传的 Google C++编程风格指南,由 edisonpeng(2009/3/25)整理

本地化简化由MISAS开发团队使用。在此分享以供各开发团队参考。

目录

@[toc]

命名约定

一致性命名规则,包括类型、变量、函数、常量、宏等等。

通用命名规则

函数、变量、文件命名应具有描述性,不要过度缩写。
类型和变量应该是名词,函数名用“命令性质”的动词。

命名方法:

尽可能给出描述性名词,提高代码可读性,目标是让别人快速理解。

禁止使用模糊的缩写或随意的字符。

类型和变量名一般为名词,如num_errors。

函数名通常是指令性的,如OpenFile()、set_num_errors(),访问函数需要描述的更细致,要与其访问的变量相吻合。

缩写:

除非是放在项目外也非常明了的缩写,如IOT、DNS、IP等

除linux命令常用缩写(如 ls、pwd、usr等)外,不要用省略字母的缩写。如count不要写成cnt

文件命名

文件名要全部小写,可以包含下划线(_)。已有命名约定要求的项目遵循项目要求。

不要使用已经存在于系统中的文件名,如Linux系统不要使用/usr/include下的文件名,如db.h。

类型命名

类型命名每个单词以大写字母开头,不包含下划线,如:MyExcitingClass、MyExcitingEnum。

所有类型命名————类、结构体、类型定义(typedef)、枚举,使用相同约定,例如:


// class and structs
class UrlTable {...}
class UrlTableTester {...}
struct UrlTableProperties {...}

// typedefs
typedef hash_map<UrlTableProperties *, string> PropertiesMap {...}

// enums
enum UrlTableErrors{...}

变量命名

变量名一律小写,单词间下划线相连,类的成员以下划线结尾,如

my_exciting_local_variable、my_exciting_local_variable_

全局变量尽量不用,如果一定要用,以g_为前缀以便与局部变量区分。

常量命名

常量命名前加 k,如:

const int kDaysInAWeek = 7

函数命名

普通函数,函数名大写字母开头,每个单词首字母大写,没有下划线:

AddTableEntry()

存取函数,函数名要与存取的变量名匹配。

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_;
};

短小的函数和内联函数也要使用小写字母

命名空间

全部小写,命名基于项目名称和目录结构

枚举命名

枚举值全部大写,单词间下划线项链 MY_EXCITING_ENUM_VALUE

枚举名称属于类型,因此大小写混合。

enum UrlTableErrors {
    OK = 0,
    ERROR_OUT_OF_MEMORY = 1,
    ERROR_MALFORMED_INPUT = 2,
};

宏命名

禁止使用宏。

命名规则例外

参考现有或相近命名约定

版权声明

弈心博客


本文首发site_name,转载请附上博文链接!