命名规则与代码规范


命名规则

标识符

  • C++的标识符由字母、数字和下划线组成,其中必须以字母或下划线开头,不能以数字开头。
  • 标识符的长度没有限制,但是对大小写字母敏感。
  • C++为标准库保留了一些名字,不能使用这些保留字作标识符。
  • 用户自定义的标识符最好不要连续出现两个下划线,也不要以下划线紧连大写字母开头。

基本命名规则

文件命名

文件名全部小写,可以含下划线或连字符,按项目约定命名,且尽量保证文件名明确。

若是类中含大量内联函数,我们还可使用 -ini.h 文件,使之文件内容更加清晰。

foo_bar.h foo_bar.cc
url_table.h url_table.cc url-table-ini.h

类命名规则

类型命名每个单词首字母大写,不含下划线,这对于所有类型命名一样,类结构体,枚举,类定义都是如此。

MyExcitingEnum

变量命名规则

变量名一律小写,单词用下划线相连 。

int player_id; 
string table_name;

类成员变量,后跟下划线区别普通变量。

 string player_name_;
 int player_id_

全局变量则以 g_ 开头。

g_system_time

结构体成员变量还是和普通变量一样。

string name; 
int num_entries;

常量命名时 k 后面跟大写字母开头的单词。

const int kDaysInAWeek=7;
const string kCompanyName="Tecent";

函数命名规则

常规函数每个单词首字母大写,使用命令式语气。

OpenFile() 
CheckFileName()

存取函数或短小的内联函数使用小写加下划线,且最好与访问变量相吻合。

void set_player_id(const int player_id)
{
    return player_id_=player_id;
}

空间命名

命名空间全小写,并基于项目名称和目录结构。

namespace google_awesome_project{}

枚举命名

枚举类名属于类型名,按类命名,枚举值全大写加下划线。

ENUM_NAME

宏命名

如果你一定要用到宏,全大写加下划线。

define PI_ROUND 3.0

基本代码规范

参考:Google C++ Style Guide