[轉(zhuǎn)]如果我有時(shí)間,我會(huì)寫更短的代碼(王健碩)
eBay的代碼量已經(jīng)比Windows+Linux更多了。從我看來,這絕不是一種恭維,而是徹徹底底的技術(shù)人員的失敗。從代碼的角度,越短的代碼,就越有力量。
Mark Twin曾經(jīng)在給一個(gè)朋友的信中說道:
我親愛的朋友,如果我有更多的時(shí)間, 我就能給你寫更短的信了。文字是這樣,代碼更是這樣。
有了面向?qū)ο蟮姆绞胶鸵恍┖?jiǎn)單的設(shè)計(jì)模式加一些重構(gòu),代碼可以變得非常的簡(jiǎn)單,明了,易讀,卻依然保持靈活和強(qiáng)大。在百姓網(wǎng),我們?cè)?jīng)把2000行 代碼重構(gòu)為250行(迷你朝歌),然后又把另外幾千行代碼重構(gòu)為250行(迷你荊州)。我覺得250行代碼是一個(gè)神奇的數(shù)量,很多的功能模塊,就算用 PHP這樣并不是完全面向?qū)ο蟮恼Z(yǔ)言,也應(yīng)該控制在250行之內(nèi)。我個(gè)人的編程習(xí)慣和目標(biāo)是,把每個(gè)函數(shù)控制在7行代碼之內(nèi),把函數(shù)的數(shù)量控制到最小,用 最短的代碼完成功能。我個(gè)人用的簡(jiǎn)化代碼最有效的方式,就是寫一段代碼,徹底刪掉,重寫,然后再刪掉。在如此十幾遍之后所得到的代碼,通常比第一次要好得 多。
代碼量的增加,對(duì)于我們來說不是件好事。我們用拉鋸戰(zhàn)的方式在功能增加的同時(shí),把代碼量牢牢地卡在原地,并且不斷減少。我們希望有一天,網(wǎng)站運(yùn)營(yíng)的PHP代碼會(huì)被壓縮到5000行之內(nèi)。
就像對(duì)于代碼的數(shù)量的追求一樣,我們追求代碼的質(zhì)量,我們追求最實(shí)用的解決方案(我們是徹徹底底的實(shí)用主義者,希望用最小的代價(jià)解決問題),我們也追求網(wǎng)站的速度,內(nèi)容的質(zhì)量。。。技術(shù)人員,就應(yīng)該有些技術(shù)人員的樣子。畢竟,無論做什么,都要有些追求的。。。
posted on 2011-06-07 22:04 艾斯維亞 閱讀(434) 評(píng)論(0) 編輯 收藏 引用