1.5.4 變量聲明
現(xiàn)在對類型做了初步的介紹,接下來再回到程序。程序所做的第一件事情就是用下面一行代碼聲明一個變量(請求創(chuàng)建一個變量):
int score;
這段代碼聲明了一個名為score的int型變量。我們通過變量名來訪問這個變量??梢钥吹?,聲明一個變量需要指定變量的類型,然后在其后跟上所選擇的變量名。因為聲明是語句,所以必須以分號結尾。
接下來的3行代碼聲明了3種類型的3個變量:distance是double型變量,playAgain是char型變量,shieldsUp是bool型變量。
游戲(以及所有大型應用程序)通常需要大量的變量。幸運的是,C++允許在一條語句中聲明同一類型的多個變量,正如下面一行代碼所示:
short lives, aliensKilled;
這一行聲明了兩個short型變量:lives和aliensKilled。
盡管本例在main()函數(shù)開頭部分定義了一些變量,但并不意味著必須在一個地方定義所有變量。在該程序后面將看到,我們經(jīng)常在使用之前才定義某個變量。
1.5.5 變量命名
要聲明一個變量,必須為變量提供一個名稱,也就是變量的標識符。合法的標識符只需要滿足以下幾個規(guī)則:
● 標識符只能包含數(shù)字、字母和下劃線。
● 標識符不能以數(shù)字開頭。
● 標識符不能是C++關鍵字。
關鍵字是C++為其本身使用保留的特殊詞匯。關鍵字不多,詳見附錄C。
除了創(chuàng)建合法變量名必須遵循的規(guī)則外,下面給出一些準則來選擇好的變量名。
● 選擇描述性的名稱。變量名應該讓其他程序員容易理解。例如,使用score而不是s(該規(guī)則的一個例外是臨時使用的變量。這種情況下,可以使用單字母變量名,例如x)。
● 前后一致。對于多單詞變量名的寫法,有兩種思想流派。是high_score還是highScore?本書使用第二種方式,其中第二個單詞(以及其他單詞)的首字母是大寫。這就是匈牙利命名法。但是只要保持前后一致,使用哪種方法并不重要。
● 遵循語言的傳統(tǒng)。有些命名習慣已經(jīng)成為傳統(tǒng)。例如,大多數(shù)語言(包括C++)中,變量名以小寫字母開頭。另一個傳統(tǒng)是避免變量名的首字符使用下劃線。以下劃線開始的名稱有特殊含義。
● 使用短變量名。盡管playerTwoBonusForRoundOne描述性很強,但是它讓代碼很難讀。另外,長變量名會增加錄入錯誤的風險。作為一條準則,請把變量名限制在15個字符以內。然而,編譯器會有一個變量名長度的最終上限。
技巧
自描述的代碼使得在不看注釋的情況下也很容易理解程序的用途。良好的變量命名是向這樣的代碼邁出的一大步。