代碼之丑(零)

作者: dreamhead  發布時間: 2011-01-03 21:35  閱讀: 1342 次  推薦: 1   原文鏈接   [收藏]  

  看到下面這段代碼,你會做何感想?

 
if(db.Next()) {
return true;
}
else {
return false;
}

  有的人會想,怎么寫得這么笨啊!但是,請放心,絕對會有人這么想,挺好的,實現功能了。這并非我臆造出的代碼,而是從一個真實的codebase上找到。

  成為一個咨詢師之后,我有機會在不同的項目中穿梭。同客戶合作的過程中,我經常干的一件事是:code diff。也就是用源碼管理工具的diff功能把當天全部修改拿出來,從編碼的角度來分析代碼寫得怎么樣。

  因為這個工作,我看到了許多不同人編寫的代碼,我的編碼底線不斷受到挑戰。許多東西,我以為是常識,但實際上不為許多人所知,比如上面那段代碼。

  我把在看到的問題總結成一個session,與客戶的程序員分享。結束之后,有人建議,為什么不能把這些問題寫下來,與更多人分享。于是,我產生了寫下《代碼之丑》念頭,以此向《代碼之美》致敬。

  最后要說的是,開始那段代碼可以寫成這樣:

 
return db.Next();
1
0
 
標簽:重構
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()