自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

谷歌大牛 Rob Pike 的 5 個編程原則

開發(fā) 后端 項目管理
Rob Pike,目前谷歌公司最著名的軟件工程師之一,曾是貝爾實驗室Unix開發(fā)團隊成員,Plan9操作系統(tǒng)開發(fā)的主要領導人,Inferno操作系統(tǒng)開發(fā)的主要領導人。

簡介:

Rob Pike,目前谷歌公司***的軟件工程師之一,曾是貝爾實驗室Unix開發(fā)團隊成員,Plan9操作系統(tǒng)開發(fā)的主要領導人,Inferno操作系統(tǒng)開發(fā)的主要領導人。他是締造Go語言和Limbo語言的核心人物。下面是他分享給大家他在貝爾實驗室工作的一段經(jīng)歷,這段經(jīng)歷改變了他對bug調試的思想認識。

主要工作經(jīng)歷:

我在貝爾實驗室工作了很多年。我在計算機科學研究中心,你會很詫異,這是個很小的實驗室,但這里卻創(chuàng)造了Unix,我來到這里工作的時候Unix已經(jīng)發(fā)布了第七版。從2002年起我來到谷歌工作,主要開發(fā)一些系統(tǒng)基礎架構。

最主要的成就:

我最為人所知的應該是我和Brian Kernighan(Unix開發(fā)組的重要成員)合著的兩本書:《The Unix Programming Environment》 和 《程序設計實踐(The Practice of Programming)》 (30年后的今天仍在印刷出版!),影響范圍最廣的一件事應該是我和Ken Thompson共同開發(fā)完成了UTF-8編碼格式。在其它方面,諸如計算機圖形,操作系統(tǒng),軟件開發(fā)工具等上也做了大量的工作,最近在給谷歌開發(fā)Go編程語言。

[[115802]]

下面是 Rob Pike 的 5 個編程原則

原則 1. 你沒有辦法預測每個程序的運行時間,瓶頸會出現(xiàn)在出乎意料的地方,所以在分析瓶頸原因之前,先不要盲目猜測。

原則 2. 測試(measure)。在測試之前不要優(yōu)化程序,即使在測試之后也要慎重,除非一部分代碼占據(jù)絕對比重的運行時間。

原則 3. 花哨的算法在 n 比較小時效率通常比較糟糕,而 n 通常是比較小的,并且這些算法有一個很大的常數(shù)。除非你確定 n 在變大,否則不要用花哨的算法。(即便 n 不變大,也要先遵循第 2 個原則。)

原則 4. 相對于樸素的算法來說,花哨的算法更容易出現(xiàn)Bug,更難調試。盡量使用樸素的算法和數(shù)據(jù)結構。

原則 5. 數(shù)據(jù)占主導地位(Data dominates)。如果你選擇了正確的數(shù)據(jù)結構,并且已把事情組織好,那么算法的效率顯而易見。編程的核心是數(shù)據(jù)結構是,不是算法。

Pike的第 1 條和第 2 條原則實際上重新強調了Tony Hoare那句名言,“過早的優(yōu)化是萬惡的根源”。Ken Thompson將Pike的第 3 條和第 4 條原則改寫為“當遇到麻煩時,試試最簡單粗暴的辦法”,原則 3 和原則 4 也是 KISS 哲學的體現(xiàn)。Fred Brooks在《人月神話》中首先闡述了原則 5 ,原則 5 常常會被概括為“用***結構,寫簡單代碼”。

原文鏈接: utexas.edu   翻譯: 伯樂在線 - makttub

譯文鏈接: http://blog.jobbole.com/70607/

責任編輯:林師授 來源: 伯樂在線
相關推薦

2012-08-20 09:53:48

編程編程建議程序員

2024-04-08 10:02:22

Go編程并發(fā)

2022-12-25 12:43:22

架構編程

2018-03-13 12:31:21

2014-02-13 09:38:51

評估公有云私有云

2024-07-25 14:36:10

2015-10-10 14:40:36

編程游戲

2014-12-22 10:09:50

工程師

2024-01-23 09:07:29

Unix哲學工具

2018-06-21 15:17:15

機器學習

2021-09-26 13:55:33

5G切片網(wǎng)絡切片5G

2014-11-10 09:46:57

程序員

2009-01-03 14:34:49

ibmdwPHP

2020-01-08 14:45:38

Kubernetes存儲架構

2011-03-08 10:15:08

HTML 5

2020-01-14 14:15:03

開發(fā)技能代碼

2009-01-16 08:52:26

面向對象OOP編程

2013-01-29 10:02:44

前段WebJavaScript

2017-11-21 08:22:16

程序員編程技術

2020-06-05 13:37:17

網(wǎng)絡安全技術
點贊
收藏

51CTO技術棧公眾號