羅伯-派克的5條程式設計規則:資料高於演算法
羅伯-派克(Rob Pike)是Go程式語言的設計者之一,也是貝爾實驗室Unix團隊的核心成員(他與Brian Kernighan合著了《Unix程式設計環境》)。
他還因其5條程式設計規則而聞名:
- 你無法知道一個程式將在哪裡度過它的時間。瓶頸發生在令人驚訝的地方,所以在你證明瓶頸存在之前,不要試圖去猜測並做一個效能的駭客。(不要過早最佳化)
- 測量:在你測量之前,不要對效能進行調整,即使如此,也不要調整,除非程式碼的某個部分壓倒了其他部分。
- 當n很小的時候,花哨的演算法很慢,而n通常是很小的。花哨的演算法有很大的常數。在你知道n經常會變大之前,不要搞花哨。(即使n真的變大了,也要先使用規則2)。
- 花哨的演算法比簡單的演算法更容易出錯,而且它們更難實現。使用簡單的演算法,以及簡單的資料結構。
- 資料占主導地位。如果你選擇了正確的資料結構並很好地組織了事情,演算法幾乎總是不言而喻的。資料結構(而不是演算法)才是程式設計的核心。
相關文章
- [譯] 設計研究的 9 條規則
- 程式設計規則程式設計
- 所有程式設計師都應該遵守的 11 條規則程式設計師
- JAVA程式設計規則:Java程式設計
- Java程式設計規則Java程式設計
- 11 個重要的資料庫設計規則資料庫
- Java日誌記錄的5條規則Java
- 資料庫設計和基本備份規則資料庫
- 重構複雜條件的規則設計模式 - levelup設計模式
- 程式設計書寫規則 (轉)程式設計
- Go程式設計的一些規則Go程式設計
- NASA 的 10 大程式設計規則程式設計
- 禪道程式設計師的10條原則程式設計師
- 併發程式設計的12條規範程式設計
- 正確使用資料架構的五條規則 - infoworld架構
- 程式設計師必知的Java基礎:5條命名規範和8種資料型別歸納程式設計師Java資料型別
- 資料庫設計規範化的 5 個要求資料庫
- 計算機程式設計的24條法規 (轉)計算機程式設計
- 高質量C/C++程式設計指南總結(三)—— 命名規則C++程式設計
- Delphi物件導向程式設計的20條規則(By Marco Cantu)(rule 1-10) (轉)物件程式設計
- Delphi物件導向程式設計的20條規則(By Marco Cantu)(rule 16-20) (轉)物件程式設計
- Delphi物件導向程式設計的20條規則(By Marco Cantu)(rule 11-15) (轉)物件程式設計
- C++程式設計規範-101條規則準則與最佳實踐電子書pdf下載C++程式設計
- 遊戲設計的11條原則遊戲設計
- 資料表的設計原則
- 高質量C++/C程式設計指南(第3章 命名規則) (轉)C++C程式程式設計
- PowerBuilder資料視窗程式設計技巧十則UI程式設計
- ESLint裡的規則教會我,無規矩 不程式設計EsLint程式設計
- 改變遊戲規則的 API 設計審查的5個技巧遊戲API
- 大話資料庫程式設計規範資料庫程式設計
- OO幾條設計原則
- javascript關於toFixed的計算規則JavaScript
- 大型.NET ERP系統的20條資料庫設計規範資料庫
- 再談雅虎關於效能優化的 N 條規則優化
- 再談Yahoo關於效能優化的N條規則優化
- 資料庫索引的設計原則資料庫索引
- ACCESS 關於表設計中,驗證規則的使用技巧
- 程式猿應該記住的幾條基本規則