閱讀701 返回首頁    go 技術社區[雲棲]


C++編程規範之8:不要進行不成熟的優化

摘要:

    拉丁諺語雲:快馬無需鞭策,不成熟優化的誘惑非常大,而它的無效性也同樣嚴重。優化的第一原則就是:不要優化。優化的第二原則就是:還是不要優化。再三測試,而後優化。

    不成熟的優化定義為:以性能之名,使設計或者代碼更加複雜,從而導致可讀性更差,但是並沒有經過驗證的性能需求作為正當理由,因此本質上對程序沒有真正的好處,

    永遠記住:讓一個正確的程序更快速比讓那個一個快速的程序正確,要容易得太多、太多。

    在我們編寫程序時,不要把注意力全部放在如何使代碼更快上;我們首先應該關注的是使代碼盡可能地清晰和易讀。清晰的代碼更容易正確編寫,更容易理解,更容易重構——當然也更容易優化。使事情複雜的行為,包括優化,總是以後再進行的——而且隻在必要的時候才進行。我們必須先保證程序的清晰性和可讀性,然後才能提高效率。

    初學者常犯的一個錯誤是,編寫新代碼時著迷於進行過度優化,卻犧牲了代碼的可理解性。這常常會產生大雜燴代碼,這種代碼即使開始時是正確的,也非常難於閱讀和修改。

最後更新:2017-04-03 12:53:42

  上一篇:go java備忘
  下一篇:go C++編程規範之7:編程中應該知道何時和如何考慮可伸縮性