文件:
文件名应全部小写,每个新单词以破折号“-”或下划线“_”为间隔区分。
my_useful_class.cpp
my-useful-class.cpp
myusefulclass.cpp
myusefulclass_test.cpp
类(class)、结构体(struct)、类型名(typedef)、枚举(enums)、(using)
以大写字母开头,每个新单词以大写字母为间隔区分,不带下划线。
// classes and structs
class UrlTable { ...
class UrlTableTester { ...
struct UrlTableProperties { ...// typedefs
typedef hash_map<UrlTableProperties *, std::string> PropertiesMap;// using aliases
using PropertiesMap = hash_map<UrlTableProperties *, std::string>;// enums
enum class UrlTableError { ...
变量名
变量名应全部小写,每个新单词以下划线“_”为间隔区分,(另:类成员变量在后面多加一个下划线“_”)。
char my_name;struct UrlTableProperties {char my_name;
};class TableInfo {private:char my_name_;
};
常量名和枚举量
常量名应以k开头,每个新单词以大写字母为间隔区分,极少数带下划线。
const int kDaysInAWeek = 7;
const int kAndroid8_0_0 = 24;enum class UrlTableError {kOk = 0,kOutOfMemory,kMalformedInput,
};
函数名
在Google C++ Style Guide规则中,函数名的命名规则如类名。(另:也有其它命名模式,以小写开头,大写字母区分,可以跟类名区分。——小驼峰命名)
RobotControlServer() // Google C++ Style Guide
robotControlServer() // 小驼峰命名
宏(define)
现代C++ (C++11以上)提供了更安全、灵活且功能更强的替代方案,例如 constexpr
、inline
、模板(templates)、enum class
等,已经不推荐用宏定义了。
命名规则:全部大写,下划线“_”区分间隔。
#define MYPROJECT_ROUND(x) ...
总结
简单就是变量小写,下划线区分,函数和类大小写混合,大写区分。