軟體建構之道 (Code Complete) 第二版 第十章到第十一章心得

軟體建構之道
第十章-使用變數的一般問題
變數有效的時間越短越好..
要使用時才宣告定義..
使用該變數的程式碼集中在一起..
原因無它..
就是增加閱讀性..
你不用擔心是不是別的地方會去修改到該變數..

跨距越短越好..
跨距就是同一個變數下次出現之間隔的行數..

int a = 0;
int b = 1;
a = a + b; // a 的跨距為 1.

其實觀念同上..
反正你就想你家冰箱會去冰箱拿飲料的就家裡那幾個人..
遭小偷我不知該如何解釋 Orz..
若你家冰箱擺在馬路上..
你想要是哪個路人幹了你家飲料就比較麻煩了..

避免變數有隱藏的意義..
比如..

int thePlayerCount; // 球員數目.

thePlayerCount 就專心至力於紀錄球員數目就好..
不要搞個..

int thePlayerCount; // 球員數目,若為-1代表籃球社倒了.

一個變數就專心做一件事就好了..
這種偷吃步..
都是爽一時..
一痛就痛到你離職換公司..
再痛到下一個倒楣 RD 身上而已..

書中一句話個人覺得很實在..

僅可能保持變數的區域性,因為區域範圍有助於智慧管理.

這章也很實用..
建議入手可先翻一翻..
小小習慣大大改善..

第十一章-變數名稱的力量
這章大至說明一些慣例..
幾個熱門的語言也有命名的表格供參考..
關於縮寫也有幾個不錯的規則(命名太長一直是我的痛處 Orz)..

命名要清楚..
不要亂加入數字..
...
(超多請自己去書店翻)

這章適合..
還沒有建立起自己命名習慣的人..
覺得 Review 自己 Code 會產生閱讀障礙的人..

變數命名這種事都說起來簡單..
有心的人就是有心..
沒心的人就還是 x1, x2, temp 照樣給你寫一堆啦..
又想到我那用 JAVA 寫 C 風格的前輩了.. Orz
不知道他現在過得好不好..
快轉行吧你..

2 則回應:

匿名 提到...

最後一行好狠 >"<

[ 小黑宅 ] 提到...

這是怨念..