1. 文件命名
全部小写,用_区分 my_useful_class.cc
通常应尽量让文件名更加明确. http_server_logs.h 就比 logs.h 要好
内联函数必须放在 .h 文件中. 如果内联函数比较短, 就直接放在 .h 中.
2. 类型命名
类型名称的每个单词首字母均大写, 不包含下划线: MyExcitingClass, MyExcitingEnum.
1 class UrlTableTester { ...
2 typedef hash_map<UrlTableProperties *, string> PropertiesMap;
3 enum UrlTableErrors { ...
3. 变量命名
变量名一律小写, 单词之间用下划线连接. 类的成员变量以下划线结尾, 但结构体的就不用,
1 string table_name; // 可 - 用下划线。
2
3 class TableInfo {
4 private:
5 string table_name_; // 可 - 尾后加下划线。
6 string tablename_; // 可。
7 static Pool<TableInfo>* pool_; // 可。
8 };
9
10 struct UrlTableProperties {
11 string name;
12 int num_entries;
13 }
对全局变量没有特别要求, 少用就好
4. 常量命名
const int kDaysInAWeek = 7; 前缀+k
5. 函数命名
常规函数使用大小写混合, 取值和设值函数则要求与变量名匹配:
1 AddTableEntry()
2
3 class MyClass {
4 public:
5 int num_entries() const { return num_entries_; }
6 void set_num_entries(int num_entries) { num_entries_ = num_entries; }
7 private:
8 int num_entries_;
9 };
6. 命名空间命名
名字空间用小写字母命名, 并基于项目名称和目录结构: google_awesome_project.
7. 枚举命名
1 enum AlternateUrlTableErrors {
2 OK = 0,
3 OUT_OF_MEMORY = 1,
4 MALFORMED_INPUT = 2,
5 };
8. 宏命名
#define PI_ROUNDED 3.0
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
2021-09-15 Qt QGraphicsview缩放及还原
2021-09-15 Qt 拷贝内容到粘贴板 || 获取粘贴板内容
2020-09-15 LIBJPEG 安装编译,读取jpeg图像数据
2020-09-15 LIBTIFF 图像读取与保存
2020-09-15 LIBTIFF库在windows下的编译(32位与64位)
2020-09-15 判断dll是32位还是64位的简单方法(实测有效)
2020-09-15 使用VS工具查看dll是32位还是64位