天天看點

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

摘要:

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

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

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

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

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

繼續閱讀