一杯清酒邀明月
天下本无事,庸人扰之而烦耳。

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

 

posted on 2022-09-15 14:31  一杯清酒邀明月  阅读(199)  评论(0编辑  收藏  举报