羅伯-派克的5條程式設計規則:資料高於演算法
羅伯-派克(Rob Pike)是Go程式語言的設計者之一,也是貝爾實驗室Unix團隊的核心成員(他與Brian Kernighan合著了《Unix程式設計環境》)。
他還因其5條程式設計規則而聞名:
- 你無法知道一個程式將在哪裡度過它的時間。瓶頸發生在令人驚訝的地方,所以在你證明瓶頸存在之前,不要試圖去猜測並做一個效能的駭客。(不要過早最佳化)
- 測量:在你測量之前,不要對效能進行調整,即使如此,也不要調整,除非程式碼的某個部分壓倒了其他部分。
- 當n很小的時候,花哨的演算法很慢,而n通常是很小的。花哨的演算法有很大的常數。在你知道n經常會變大之前,不要搞花哨。(即使n真的變大了,也要先使用規則2)。
- 花哨的演算法比簡單的演算法更容易出錯,而且它們更難實現。使用簡單的演算法,以及簡單的資料結構。
- 資料占主導地位。如果你選擇了正確的資料結構並很好地組織了事情,演算法幾乎總是不言而喻的。資料結構(而不是演算法)才是程式設計的核心。
相關文章
- 如何開會-羅伯特議事規則
- [譯] 設計研究的 9 條規則
- 透鏡設計的六條規則(下):設計更多的禁牌
- 重構複雜條件的規則設計模式 - levelup設計模式
- Go程式設計的一些規則Go程式設計
- C++程式設計規範-101條規則準則與最佳實踐電子書pdf下載C++程式設計
- 併發程式設計的12條規範程式設計
- Sentinel規則基於Apollo(阿波羅)持久化持久化
- 程式設計師必知的Java基礎:5條命名規範和8種資料型別歸納程式設計師Java資料型別
- 正確使用資料架構的五條規則 - infoworld架構
- 高質量C/C++程式設計指南總結(三)—— 命名規則C++程式設計
- ESLint裡的規則教會我,無規矩 不程式設計EsLint程式設計
- 遊戲設計的11條原則遊戲設計
- 接地設計基本規則
- javascript關於toFixed的計算規則JavaScript
- ACCESS 關於表設計中,驗證規則的使用技巧
- 提高java程式設計安全性的12條黃金法則Java程式設計
- 改變遊戲規則的 API 設計審查的5個技巧遊戲API
- 科學軟體十條簡單程式設計原則程式設計
- 程式設計師的工資高,到底程式設計師的工資有多高?程式設計師
- 資料庫設計技巧14則資料庫
- Codd的ER模型12條規則模型
- 開發60條規則
- 有效提高java程式設計安全性的12條黃金法則Java程式設計
- 資料包如何遊走於 Iptables 規則之間?
- MongoDB資料庫的設計規範MongoDB資料庫
- 常見的資料設計規範
- 遊戲UI設計的3條重要原則遊戲UI
- 用幾條規則解釋關於js原型的所有問題JS原型
- App設計的基本原則和規範APP
- 資料治理的十二條技術原則
- 資料庫設計原則與方法資料庫
- 高階程式設計師的七大特徵,你有幾條?程式設計師特徵
- 資料結構而非演算法是程式設計的核心 - theartofmachinery資料結構演算法程式設計Mac
- 61條物件導向設計的經驗原則物件
- 我設計資料庫常用的幾個原則資料庫
- MySQL資料庫設計規範MySql資料庫
- 5k和5萬程式設計師的差距原來是在於10大程式設計禁忌!程式設計師