不要為了代碼整潔,而放棄寫出好代碼

fmms 13年前發布 | 7K 次閱讀 代碼

本文是從 Clean Code Versus Great Code 這篇文章翻譯而來。


最 近我和一些程序員就編程問題進行了一次有趣的討論。我通常會有這樣的印象,感覺一些程序員過于強調代碼的整潔。不要誤會,我也很注重代碼的整潔,在過去幾 年來也寫過不少強調代碼整潔的重要性的文章。但當我編程時,代碼整潔只是我的第二重要目標,它永遠不會取代我的首要目標:讓軟件先跑起來。讓它能跑的很漂 亮,這是我更大的愿望。

當談論起代碼整潔時,很多人都能饒有興趣的說出很多。他們堅持不懈的追求這個目標,有時他們在編程時還會穿上帶有Uncle Bob的綠色的宣傳圖標衣服,以此提醒自己什么是最重要的:寫出整潔的代碼。

10071719_mhen.jpg

不幸的是,很多次我都發現,很多人在重視“代碼的樣子”的同時,卻忽略了要把“代碼的功能”也放在同等重要的 位置。例如,很多人不愿意去學習ORM實現的背后原理,他們更愿意使用一些像Hibernate實體映射工具的東西把數據映射成實體對象,即使當這樣做比 起直接獲取數據是效率低的讓人驚訝時也是如此。他們并不考慮多次遠程調用的代價或大數據量傳輸的成本。他們一遍一遍的就是寫不出一個好的保齡球游戲,因為 他們把數據庫的操作放在循環里了

代碼整潔并不是構成好程序的必要條件,好程序也并不必定是代碼整潔的。對我來說,好程序是運行良好的代碼,容易理解,容易修改。這是它們的先后次 序。我知道,大家都非常明白,代碼的易于理解、易于安全的修改是非常的重要。但不管代碼寫的如何清晰易于閱讀和修改,如果它沒有做它本該做的事情(不能覆 蓋所有角落場景),或花費了它本不該使用的長時間執行操作,它就不是好代碼。當然,它很整潔,可卻沒有用處,不是嗎?

我不是鼓勵你過早的進行優化。除非你有《駭客帝國》里Neo一樣的本領,否則你過早的優化的程序里至少有四分之一是不正確的。優化最重要的是找到瓶頸,其它的努力都是浪費。

不管怎么說,你應該寫成整潔的代碼。但你要三思,不要為了代碼整潔,而放棄了寫出好代碼。

本文轉載自: 外刊IT評論 http://www.aqee.net/

 本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!