羅伯-派克的5條程式設計規則:資料高於演算法

banq發表於2022-05-12

羅伯-派克(Rob Pike)是Go程式語言的設計者之一,也是貝爾實驗室Unix團隊的核心成員(他與Brian Kernighan合著了《Unix程式設計環境》)。

他還因其5條程式設計規則而聞名:
  1. 你無法知道一個程式將在哪裡度過它的時間。瓶頸發生在令人驚訝的地方,所以在你證明瓶頸存在之前,不要試圖去猜測並做一個效能的駭客。(不要過早最佳化)
  2. 測量:在你測量之前,不要對效能進行調整,即使如此,也不要調整,除非程式碼的某個部分壓倒了其他部分。
  3. 當n很小的時候,花哨的演算法很慢,而n通常是很小的。花哨的演算法有很大的常數。在你知道n經常會變大之前,不要搞花哨。(即使n真的變大了,也要先使用規則2)。
  4. 花哨的演算法比簡單的演算法更容易出錯,而且它們更難實現。使用簡單的演算法,以及簡單的資料結構。
  5. 資料占主導地位。如果你選擇了正確的資料結構並很好地組織了事情,演算法幾乎總是不言而喻的。資料結構(而不是演算法)才是程式設計的核心。


 

相關文章