Skip to content

Commit a9f5d74

Browse files
committed
Update 'Naming - Variable Names' (#14)
1 parent 203b8a2 commit a9f5d74

1 file changed

Lines changed: 19 additions & 17 deletions

File tree

src/naming/variable-names.md

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,48 @@
11
## 變數名稱 (Variable Names)
22

3-
> 變數 (包含函式的參數) 與資料成員的名稱全部都使用小寫,並使用底線隔開單字。 類別 (但不包含結構) 的資料成員要另外在尾部加上底線。 例如,區域變數:`a_local_variable`、結構資料成員:`a_struct_data_member`、類別資料成員:`a_class_data_member_`
3+
> 變數 (包含函式的參數) 與資料成員的名稱都用蛇形命名法(`snake_case`,也就是全部小寫,並使用底線隔開單字)。 類別的資料成員(但結構的資料成員不包括在內)還需在名稱尾端加上底線。 例如,區域變數:`a_local_variable`、結構資料成員:`a_struct_data_member`、類別資料成員:`a_class_data_member_`
44
5-
### 常見的變數名稱
5+
### 一般變數名稱
66

7-
可以接受的
7+
好的
88

9-
```c++
10-
string table_name; // 可以 - 使用底線
11-
string tablename; // 可以 - 全部小寫
9+
```cpp
10+
string table_name; // 可以 - 蛇形命名法
1211
```
1312

14-
不可接受的
13+
不好的
1514

16-
```c++
15+
```cpp
1716
string tableName; // 不好 - 大小寫混合
1817
```
1918

2019
### 類別資料成員
2120

22-
類別資料成員,包括靜態 (`static`) 與非靜態的,都如同一般變數命名,但要在尾端加上底線
21+
類別的資料成員(無論是靜態或非靜態)應像一般的非成員變數一樣命名,但要加上尾端底線。 唯一的例外是靜態常數類別成員,應該要以 [常數的方式](constant-names.md) 命名
2322

24-
```
23+
```cpp
2524
class TableInfo {
25+
public:
26+
...
27+
static const int kTableVersion = 3; // 可以 - 常數命名方式
2628
...
29+
2730
private:
28-
string table_name_; // 可以 - 尾端有底線
29-
string tablename_; // 可以
30-
static Pool<TableInfo>* pool_; // 可以
31+
std::string table_name_; // 可以 - 尾端有底線
32+
static Pool<TableInfo>* pool_; // 可以
3133
};
3234
```
3335
3436
### 結構資料成員
3537
36-
類別資料成員,包括靜態 (`static`) 與非靜態的,都如同一般變數命名。 他們不像類別一樣要在尾端加上底線
38+
結構的資料成員(無論是靜態或非靜態)應像一般的非成員變數一樣命名。 不像類別的資料成員,它們不需加上尾端底線
3739
38-
```
40+
```cpp
3941
struct UrlTableProperties {
40-
string name;
42+
std::string name;
4143
int num_entries;
4244
static Pool<UrlTableProperties>* pool;
4345
};
4446
```
4547

46-
請看[結構與類別](../classes/structs-vs-classes.md)章節的討論來瞭解何時該使用結構而不是類別
48+
請參考 [結構與類別章節](../classes/structs-vs-classes.md) 的討論來瞭解何時該使用結構而不是類別

0 commit comments

Comments
 (0)