色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

整潔的代碼 VS 卓越的代碼

  英文原文:Clean Code Versus Great Code

  最近,我與其他開發人員有幾次關于編程的有趣討論。我經常有這樣一個感覺,一些開發人員過于注意代碼的整潔性。不要誤會,我也力圖代碼整潔,并在過去的幾年寫過很多篇關于代碼整潔重要性的文章。但是當我在寫代碼的時候,整潔的代碼不是我最重要的目標,它從來不能取代我最重要的目標——使程序運行起來。最好可以運行得很好。

  很多人喜歡談論關于如何寫整潔的代碼。他們會強調自己在這方面的貢獻。他們甚至帶著Uncle Bob的綠色圖標來寫代碼,這樣他們就不會忽視了寫整潔的代碼是多么重要。不幸的是,我已經留意到很多情況下這些人并不太留意這些代碼在做些什么,他們對代碼整潔的重視甚于代碼的運行。有時候他們甚至懶得去了解ORM(對象關系映射)在背后是怎么運行的。或者他們會選擇使用如Automapper這樣的工具,將實體映射到DTO(數據傳輸對象),即使Automapper與簡單地搜索映射數據相比,效率低下得多。他們不在乎多個遠程調用花費巨大,也不在乎通過網絡發送了太多的數據。如果他們不一遍又一遍的提高自己編寫保齡球游戲代碼的技巧,他們很可能會讓數據庫陷入死循環。

  代碼整潔不代表代碼出色,這兩者也沒有必然的聯系。對于我來說,卓越的代碼能夠很好的運行,有很多的性能,并且很容易閱讀和很容易修改。我很了解代碼的可讀性和易維護性都是很重要的。但是無論代碼多么易懂和易修改,如果它不是在做它應該要做的事情(包括覆蓋所有的邊緣事件(case))或者它需要更多的時間去完成,那么它就不是一段好的代碼。當然,它可能是整潔的,但它不是好的代碼,不對嗎?

  這并不代表你應該沉溺于過早的優化。除非你在這編程模型有和Neo一樣的技能,否則你不可能成功地過早優化甚至四分之一的場景。但是還是有一些指南可以幫助你避免最常見的執行問題。大多數的其他情況最好留到被證明是瓶頸時才處理。但是你應該至少思考一下這些代碼是做什么的,整潔性帶來的負面影響是否值得。如果那些稍微比較不整潔的代碼從正確性和執行來講更有意義,我們也要毫不猶豫的去選擇它們。

  無論如何,力圖保證代碼的整潔性。但在犧牲更好的性能之前,要慎重考慮。

it知識庫整潔的代碼 VS 卓越的代碼,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 五常市| 绥宁县| 兴化市| 高尔夫| 鹤山市| 新邵县| 新龙县| 大竹县| 茌平县| 南通市| 德保县| 敦化市| 甘肃省| 文昌市| 墨玉县| 怀仁县| 武邑县| 石狮市| 老河口市| 化德县| 二连浩特市| 丰镇市| 页游| 迭部县| 广丰县| 文成县| 牡丹江市| 卢湾区| 岑巩县| 建始县| 遂川县| 杭锦旗| 汝南县| 宝鸡市| 沙洋县| 桃源县| 冕宁县| 萨嘎县| 渭南市| 乐昌市| 九江县|