閱讀298 返回首頁    go 阿裏雲 go 技術社區[雲棲]


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

摘要:

    放鬆自己,放鬆編程,在所有其他事情特別是代碼複雜性和可讀性都相同的情況下,一些高效的設計模式和編程慣用法會從你的指尖自然流出,而且不會比悲觀的替代方案更難寫。這並不是不成熟的優化,而是避免不必要的劣化。

    不必要的劣化,指的是編寫如下沒有必要的,可能比較低效的程序。

1.在可以通過引用傳遞的時候,卻定義了通過值傳遞的參數。

2.在使用前綴操作符很合適的場合,卻使用後綴版本。

3.在構造函數中使用賦值操作而不是初始化列表。

    構造既清晰又有效的程序有兩種重要的方式:使用抽象和庫。

避免不成熟的劣化在編寫庫的時候尤其重要。要了解庫所使用的所有上下文,通常是不可能的,因此要達到一種平衡,在更加傾向效率和可複用性的同時,不能因為一小部分潛在的調用者的利益過分提高效率。這個時候就需要平衡,要關注的是可伸縮性,而不是一個細節性的循環的優化。

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

  上一篇:go Java中取某一個範圍的隨機數
  下一篇:go C++對象模型(三):Program Transformation Semantics (程序轉換語義學)