Skip to main content

CodingStyle

為什麼要有命名規則??

  • 好的命名方式有助於在專案之間產生好的溝通,更容易傳遞訊息
  • 有助於減少名稱的增生(name proliferation)。 Ex:計算全部點數的名稱可以叫 pointTotal,也可以叫 totalPoint,這樣一來會造成日後閱讀你程式碼的人困擾
  • 當你寫的程式規模太大時,以致於你無法了解事情的全部面貌時,你可以藉由命名規則使自己更專注在自己的開發上

常見的命名方式

  • 變數
  • 函數
  • 巨集(macro)
  • 檔案
  • 匈牙利命名法(Hungarian notation)
  • 駝峰式命名法(Camel case)
  • 帕氏卡命名法(Pascal)

變數的命名

通常都是名詞,可以直接反應出變數所代表的意思。。 Ex: totalMoney 或是 exchangeRate

如果不用名詞,通常也會是名詞化的動詞! Ex:widgetLength 等等。

函數的命名

通常使用動詞來表達函數的動作。

儘量隱藏函數內部的具體實作過程,始終從使用者的角度來為函數命名。 Ex: countOranges() 、 member.getName() 等。

巨集(macro)的命名

名稱全使用大寫字母,如果使用專案名稱來命名更好!

Ex:PROJECT_NAME_MACRO

檔案的命名

大小寫不同的系統中,儘量不要同時有大小寫不同的檔案名稱,例: math.h 或是 Math.h

如果專案中使用了不同語言,則儘量不要使用相同的檔名而不同的副檔名。

Ex: detection.c 或是 detection.java

儘量確保所有的檔案名稱都不相同,即使是在不同的目錄內。

匈牙利命名法(Hungarian notation)

此命名法又可細分為:系統匈牙利命名法匈牙利應用命名法。

一個變數名由一個前綴名稱+名稱所組成

前綴名稱有助於記憶變數的類型和用途,緊跟着的就是程式設計師選擇的任何名稱。

匈牙利命名法中,前綴代表了變數的實際資料類型

  • lAccountNum:前綴是一個長整數("longInteger")
  • arru8NumberList:前綴是一個無符號 8 位元整型陣列("arru8");

匈牙利應用命名法中,前綴代表了變數的目的,或者說它做了什麼

  • rwPosition:變數代表"row"。
  • usName:變數代表一個非安全字串("unsafeString"),需要在使用前處理。

[常用的前綴表格]

駝峰式命名法(Camel case)

變數名函式名稱是由二個或多個單字連結在一起,而構成的唯一識別字時,利用「駝峰式大小寫」來表示,可以增加變數和函式的可讀性。

小駝峰命名方式(lower camel case):

第一個單字小寫字母開始,第二個單字的首字字母大寫

例如:firstName、lastName。

帕斯卡命名法(Pascal)

帕斯卡命名法又叫大駝峰命名法(lower camel case)

原理和駝峰命名一樣,只是每一個單字的首字母都採用大寫字母,例如:FirstName、LastName