《代碼大全》學習摘要(一)變量名的力量

       近段時間一直聽人提到《代碼大全》這本書,因而對這本被評價爲程序員必讀之書產生了濃厚的興趣。最近有幸從一同學處借到了這本書,自要好好學習一番。

       正如譯者在序中所說,這本英文名名爲《Code Complete》的書被翻譯作《代碼大全》確實不是那麼恰如其分。書中包含了寫好一個程序,做好一個項目幾乎所有的要點,非常值得一讀。寫下這篇博文的目的是對自己看書所學做出一個小結,方便自己回頭查看,同時將一點感悟分享給更多的人。

       我先讀的一節是11章,“變量名的力量”,我本身在變量命名方面並沒有非常自如,因此也就把這一章作爲了閱讀的首選。

通讀整章後的要點如下:

1、一個好的變量名應該是“可讀的、易記的和恰如其分的”,表示每月總金額使用monthlyTotal作爲變量名肯定比用a要好的多。

2、變量名的長度。書中給出的觀點是“變量名的長度在10到16個字符間,調試程序所花的氣力是最小的”,“太短的名字無法傳達足夠的信息,太長的名字很難寫也會是視覺結構模糊不清”,因此我們在命名的時候就有必要在能清晰表達出變量含義的基礎上減少其長度。例如:要表達體育場中座位數量的變量,命名爲numberOfSeatsInTheStadium就太長,命名爲nsisd樣的縮寫可讀性很差,含義不清,而seatCount、numSeatsInStadium就長度剛好。

3、變量的長度可以給人以說明,研究表明較長的名字適用於很少用到的變量或者全局變量,較短的名字適用於局部變量或者循環變量,這一點在編碼中是十分有用的經驗。

4、如果要使用Total、Sum、Average、Max、Min這樣的限定詞,請把限定詞加在名字的後面,如revenueTotal。這保證了主要含義的部分在前面,可以提高可讀性。

5、對仗詞的使用要準確,這樣會便於理解和記憶,如begin/end、first/last、min/max、old/newd等。

6、簡單循環中i、j、k等循環變量的命名是約定俗成的,如果變量名在循環外要使用就需要更有意義的名字,如recondCount++,在循環嵌套的時候應該給循環變量賦予更長的名字以提高可讀性。

7、爲狀態量取一個比flag更好的名字,因爲你從中看不出來該標記是幹什麼的。characterType=COUNTROL_CHARACTER要比statusFlag=0x80更有意義。

8、臨時變量被命名爲temp、x等說明程序員還沒有完全把問題弄清楚,用真正的變量代替“臨時變量”

9、書中給出了五種類和對象的命名方案,書中採用對變量採用更爲明確的名字區分類型和變量,如Widget employeeWidget。

10、使用g_前綴來標識全局變量,使用m_前綴來標識成員變量,常量可以用全部大寫或加c_前綴來標識。

11、變量名包含了變量的內容、數據的種類、變量的作用域三類信息。

12、名字對於代碼讀者的意義要比作者重要,讀一讀你自己寫的並且至少六個月沒有看過的代碼,你也會變成一個讀者。

13、避免使用令人誤解、具有相似含義、與變量含義無關的名字。

發佈了16 篇原創文章 · 獲贊 100 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章