基礎程式設計(2)-命名規則

電腦程式是由「指令(Instructions)」與「資料(Data)」組成。所謂的指令就是程式的語法;資料就是程式設計師可以自由設定儲存的內容,或是系統產生讓設計師可以存取操作的資料。為了讓電腦識別這些資料,所有的資料都會有個名稱(Name)或稱識別字(Identifier),而資料的內容則是值(Value)。如果以我們一般的檔案來形容,就是檔案”名稱”和檔案”內容”。

變數名稱

每一種程式語言可以接受的變數名稱都不一樣,就好比每個網站設定帳號的規則都不同。不過大部份的程式語言都是要英文字母開頭,並且允許英文和數字符號。只要把握這個原則,基本上就不會錯了。

C命名規則(根據編譯器及版本不同略有差異):

  1. 英文字母或底線「_」開頭。
  2. 限制31個字元(後期版本不限長度)。
  3. 可以使用大小寫的英文字母、數字和底線「_」。
  4. 區分英文大小寫,所以 hellow 與 HELLOW 是不同變數。

C++命名規則(根據編譯器及版本不同略有差異):

  1. 英文字母或底線「_」開頭。
  2. 限制255個字元(後期版本不限長度)。
  3. 可以使用大小寫的英文字母、數字和底線「_」。
  4. 區分英文大小寫,所以 hellow 與 HELLOW 是不同變數。

Java命名規則:

  1. 英文字母開頭。
  2. 不限長度。
  3. 可以使用大小寫的英文字母、數字和底線「_」。
  4. 區分英文大小寫,所以 hellow 與 HELLOW 是不同變數。

保留字(Reserved Word)

保留字是指程式語言保留下來的英文單字,這些單字是不能被用來作為變數名稱的。簡單的說就是該程式語言的語法不能拿來當變數,因為電腦會搞不懂我們寫的是指令還是變數。以前書籍會把保留字寫出來,可是後來的程式語言越來越龐大,保留字根本列不完(而且有些還會持續增加),所以我們只要知道那些被用來作為語法的關鍵字(Keyword)不能當變數名稱即可。

當我們取的變數名稱可能是保留字時就要特別注意了,因為有些程式可能不會告訴你錯誤,但就是執行不出結果(例如JavaScript)。這時候最好是換成”肯定不是保留字”的單字,有時問題就因此解決了。

常數與變數 (2012.05.13 更新)

常數是指固定不會改變的資料,例如圓周率PI=3.14159。而變數(Variables)就是在程式執行的過程中會改變的資料。有一些程式語言針對常數有特別的”宣告”方式。不過由於常數較少被使用,所以有些程式語言並沒有特別區分常數與變數。

程式設計師在設定變數的時候,通常有二種用途。第一種是單純用來儲存資料的變數,第二種則是用來控制程式流程的變數。控制流程的變數比較常使用整數或布林值,為了程式的可讀性有時會採用字串來控制。這些控制變數除了基本運算外,還會使用比較運算來了解控制變數是否在預期的範圍或項目內,根據變數值來執行程式碼。

資料型態

資料型態是指變數內容是什麼樣的資料,例如整數、小數、文字等等。所有的變數都會有所屬的資料型態,而大部份程式語言的”基本資料型態”都是類似的。關於資料型態的詳細介紹會在下一節做說明。

變數範圍

當我們執行程式,電腦讀取到變數的時候,會在記憶體中產生一個空間來儲存這個變數的內容。因為牽涉到儲存空間的問題,所以某些變數的資料型態會有其限定的範圍。這個範圍通常都很大,但不是無邊際的,每種程式語言設定的範圍也會不同。詳細範圍的限制會在下一節做說明。

命名風格

變數的命名有所謂的風格,固定的命名風格可以使人容易閱讀。在程式設計領域中有一些常見的命名風格,設計師可以自由選擇喜歡的方式命名(除非公司規定)。下面就幾種常見的命名風格做介紹:

  • 常數命名習慣以全部大寫的英文字表示,可使用底線「_」分隔單字。
  • 匈牙利命名法(Hungarian notation):將資料型態寫在變數名稱的前面,例如intNum(整數)、strName(字串)。不過現在開發工具很先進,通常可以直接知道變數型態,所以這種命名方式變得不太必要。而且當變數需要修改資料型態時,這種命名方式也會造成修改的困擾。後期的程式設計師都不太採用此種命名方式。
  • 當名稱由二個以上的單字組成時,使用底線「_」連接單字。
  • 駝峰式命名法(Camel-Case):單字與單字之間不用任何符號隔開,而是利用大小寫區別,例如 firstName。有些人習慣首字大寫如 FirstName。它的高低起伏就像駱駝一樣。

關連文章:基礎程式設計(3)-基本資料型態基礎程式設計(4)-變數宣告