之前有寫過一篇 變數的命名哲學,不過寫的不是很完整。最近剛好看到這這篇 文章,覺得寫得還不錯,所以想參照它的內容來打造自己的 coding style。
基本規則
這裡直接把以前寫的貼過來:
小寫駝峰式(Camel case)
maxNumber
小寫開頭,單字連接的部分變成大小。因為很像駱駝的背,所以被稱為駝峰式
大寫駝峰式(Pascal case)
MaxNumber
,就是開頭變成大寫這樣
蛇型式(Snake case)
max_value
,用底線隔開單字,底線像蛇所以才叫 snake
串燒式(Kebab case)
max-value
,用 - 隔開單字,kebab 是烤肉串的意思(因為這種寫法很像串燒)
接下來會根據 變數、常數、函數、類(class)、類成員
來分別解釋一下該用哪種命名格式跟建議比較恰當。
變數
- 命名格式:小寫駝峰式
- 命名建議:以名詞 來開頭
另外最好取的貼切一點,像 length、count 很明顯代表「數字」,而 name、title 就表示「字串」。
example:
1 | // 正確的寫法 |
常數
- 命名格式:全部都大寫,用下底線分隔單字
example:
1 | const MAX_COUNT = 10 |
函數
- 命名格式:小寫駝峰式
- 命名建議:以動詞 來開頭
附上一些常見的約定俗成:
動詞 | 意思 | 回傳值 |
---|---|---|
can | 判斷是否能執行某個動作 | true:可以,false:不可以 |
has | 判斷是否包含某個值 | true:有包含,false:沒有包含 |
is | 判斷是否為某個值 | true:有,false:沒有 |
get | 取得某個值 | 回傳取得的值 |
set | 設定某個值 | 沒有回傳值或回傳是否成功 |
load | 讀取資料 | 沒有回傳值或回傳是否成功失敗 |
example:
1 | // 是否可以閱讀 |
類(class)
- 命名格式:大寫駝峰式
- 命名建議:以名詞 來開頭
example:
1 | class Person { |
類成員
- 公開屬性和方法:跟變數和函數的命名相同。
- 私有屬性和方法:前綴用下底線來表示,後面就一般作法。
example:
1 | class Person { |
註解
寫註解其實也能是一種 coding style。
命名建議:
1 | // 用來顯示單行註解 |
example:
1 | function test() { |
多行註解的建議:
1 | /* |