701
技術社區[雲棲]
C++編程規範之8:不要進行不成熟的優化
摘要:
拉丁諺語雲:快馬無需鞭策,不成熟優化的誘惑非常大,而它的無效性也同樣嚴重。優化的第一原則就是:不要優化。優化的第二原則就是:還是不要優化。再三測試,而後優化。
不成熟的優化定義為:以性能之名,使設計或者代碼更加複雜,從而導致可讀性更差,但是並沒有經過驗證的性能需求作為正當理由,因此本質上對程序沒有真正的好處,
永遠記住:讓一個正確的程序更快速比讓那個一個快速的程序正確,要容易得太多、太多。
在我們編寫程序時,不要把注意力全部放在如何使代碼更快上;我們首先應該關注的是使代碼盡可能地清晰和易讀。清晰的代碼更容易正確編寫,更容易理解,更容易重構——當然也更容易優化。使事情複雜的行為,包括優化,總是以後再進行的——而且隻在必要的時候才進行。我們必須先保證程序的清晰性和可讀性,然後才能提高效率。
初學者常犯的一個錯誤是,編寫新代碼時著迷於進行過度優化,卻犧牲了代碼的可理解性。這常常會產生大雜燴代碼,這種代碼即使開始時是正確的,也非常難於閱讀和修改。
最後更新:2017-04-03 12:53:42
上一篇:
java備忘
下一篇:
C++編程規範之7:編程中應該知道何時和如何考慮可伸縮性
《黑客與畫家》
[翻譯] getauxval() and the auxiliary vector
HEVC Study Two(基於HM14.0平台)--如何在HEVC中加入背景建模技術(一)
Dev gridcontrol 捕獲按鍵事件
47 個樹莓派項目或許能激發你的靈感
??????????????????????????????Oracle Sharding????????????????????????-??????-????????????-?????????
『幹貨』深度強化學習與自適應在線學習的阿裏實踐
NoSQL數據庫筆談
Oracle中刪除用戶遇到的問題
產品經理叫你去改一個 Bug,後來……