--- date: May 24, 2022 id: 2022-05-001 tags: program --- # 命名規格 對於電腦來說,變數名稱的好壞並不重要。但對於programer來說, 變數命名習慣將影響整個程式的可讀性及可維護性。 **命名習慣的好壞可由以下2點判斷:** - 可讀性 - 一致性 <br> ## 可讀性 一般以該函數、變數的功能命名, 常見的作法有: **駝峰式命名法 (Camel Case)** 第一個字母為小寫,之後每一個單字的開頭為大寫,不包含空格。例如: - userName - fileName **Snake Case 命名法** 單字皆為小寫,單字以底線_分離。例如: - user_name - file_name **Pascal 命名法 (Pascal Case)** 跟 Camel Case 類似,只是第一個字要大寫。例如: - UserName - ileName **Kebab Case 命名法** 跟Snake Case類似,單字以減號-分離。例如: - user-name - file-name 其中又以 Camel Case 和 Snake Case 為較多人採用的命名方式,擇一使用即可。 <font color=#0000FF>筆者的習慣是採用camel case, 且多單字的狀況下以"物件->處理描述->備註"的順序命名</font> <br> ## 一致性 一致性是指必須要用相同的規則命名整個程式的變數,可以是合作的工程師口頭約定也可以是一份 code style 文件。 如果採用了駝峰式就必須一直使用駝峰式,如果將使用者名稱命名成userName 就不要在中途改成 accountName 或只剩下 user。 --- ## 變數命名參考手冊 1. 不要使用長度超過50字元的變數 太長的變數會使程式碼可讀性降低,在清楚表達的前提下,名稱越短越好。 2. 變數的組成應為多個形容詞、名詞組成,避免使用單一動詞當作變數,如create = 1。 3. 區分單複數 例如: user是單數,users、userArray、userList、userCollection是複數。 4. 不要加入無意義的前綴及不使用無意義的單字,data、temp、value、等干擾詞,若是遍及整份程式碼,會掩蓋了具有意義的單字。 例如: m_name,這寫法通常代表一個 class 下的成員變數(member variable) name,一個class底下的 name 只可能是成員變數,使用 name 即可。 5. 使用可以發音的單字,在溝通時若選用難以發音的單字,就會增加溝通的難度。 6. 若要使用無意義的單字或是單個字母如: i, j, data 等,要確保變數的作用域在短行數的程式碼內,如 for loop 或一個 if block,當變數的作用域越廣則須越長的名稱清楚地描述該變數的意義,名稱的長度應與作用域範圍大小成正比。 7. 使用有意義的英文單字而不是類似中文拼音的方式或是自創的單字 例如 biaoGe(中文拼音的表格), 如果要採用縮寫, 必須是公認的, 否則就應該採用全寫。 8. 當進行開發時,如果有更適合的變數名稱,就去更改他,不要忌諱隨時改名, 但要避免無意義的變更名字 例如: 使用了 user 中間就不要換成 member。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up