方法組成模式
無用的注釋
- 讓代碼自我表白
- 標注為什么這樣,而不是如何這樣
- 對方法表現進行描述等于重復表現
- 這樣的注釋等于重復寫一遍代碼
- 長方法里用來描述這個方法有不同的功用的注釋
- IDE排泄物:IDE自動產生的注釋空白占位符
- 糟糕的注釋通常產生于TDD*
- * (TDD:Threat driven development,恐嚇驅動開發(fā))—— 你應該為方法的表象寫注釋,你應該為長方法寫注釋,等
- 產品里的注釋:
變量名稱
- 使用能表意的名稱
- 不要用單個字母做名稱
- 也不要使用太長的名稱
繼承
- 繼承更多的是被濫用了
- 組合通常優(yōu)于繼承
- 在一對一關系中使用繼承,滿足Liskov替換原則
- 不要用繼承來實現方法重用
- 重用方法時,委托是個更好的選擇
粘手的語言
最臭的代碼
- 冗長的類
- 重復的代碼
- 淘汰的方法
- 不必要的塑型(cast)
- 過度使用設計模式
代碼除味
- 代碼復查!
- 可使用結對編程
- 但要保持結對伙伴的經常變動,否則你會習慣你的氣味,不再會有察覺
- 結對伙伴一、兩天調換一
一些設計原則
一些參考書籍
問和答
- 關于使用代碼檢測工具,例如PMD:這樣的工具非常的有用,它能讓你捕捉到很直接的問題,使你的代碼復查工作專注于高層面的設計原則問題
- 關于IDE上附加的工具:不要自己去運行它們。讓這些工具在后臺自動的運行(或智能化)
- 動態(tài)語言里需要重構嗎:動態(tài)語言里沒有太多的自動重構工具,但程序員仍然應該手動的重構
- 關于動態(tài)語言的設計模式:每種語言都有自己的模式和特色。例如:smalltalk的execute around method模式
- 關于掌握多種語言
- 你應該知道處理一個問題的多種范式,多種風格和多種方式
- 一種語言中學到的特色方法應用到其它語言里
- 知道各種不同方式的各自風險
- 關于編程語言趨勢:對函數性編程,移動設備編程興趣濃厚
- 關于著書:長時間的思考書中的各項主題,多做這方面話題的討論,吸取精華。當開始動手去寫時,已經胸有成竹,2周內把書寫成
- 關于思考文獻:思考文獻很有用,但你也要多看看批評性的思考性文章,它們是關于你如何去思考的(double loop learning?)
- 關于學習:在用戶組里跟其它人合作,交流,討論。你并不能學到所有的東西,但要努力縮小自己的“你不知道你不知道的東西”,讓它成為“你知道你不知道的”
原文:http://www.aqee.net/2011/05/18/cleaning-up-code-smells/
本文鏈接:http://m.95time.cn/tech/program/2011/8454.asp
出處:外刊IT評論
責任編輯:bluehearts
上一頁 清除代碼異味 [1] 下一頁
◎進入論壇網絡編程版塊參加討論
|