Rob Pike關(guān)于編程的五個(gè)原則

規(guī)則1: 你沒法預(yù)測(cè)程序會(huì)將時(shí)間花費(fèi)在哪兒。瓶頸會(huì)發(fā)生在意想不到的地方,除非你已經(jīng)測(cè)試并定位了瓶頸,否則不要嘗試去猜測(cè)和優(yōu)化它。

規(guī)則2:測(cè)量。在測(cè)量之前不要為了提升速度優(yōu)化代碼。即使是在測(cè)量之后,也不要隨意優(yōu)化除非其中的一部分代碼已經(jīng)壓倒其余代碼。

規(guī)則3:當(dāng)n很小的時(shí)候好的代碼是很慢的,并且n通常都很小。好的算法都有一個(gè)很大的常量,除非你知道n很快就會(huì)變得很大,否則還是不要使用好的代碼(即使n變大了,也先使用 規(guī)則2)。

規(guī)則4:好的算法比簡單的算法更容易產(chǎn)生bug,并且它也更難去實(shí)現(xiàn)。盡可能使用簡單的算法和簡單的數(shù)據(jù)結(jié)構(gòu)。

規(guī)則5:數(shù)據(jù)主導(dǎo)。如果你選擇了正確的數(shù)據(jù)結(jié)構(gòu)并且組織得很好,算法幾乎總是不言而喻的。 數(shù)據(jù)結(jié)構(gòu),而不是算法,是編程的核心。

簡要:

派克的規(guī)則1和2重申了托尼·霍爾(Tony Hoare)著名的“過早優(yōu)化是萬惡之源”的格言。

肯·湯普森(Ken Thompson)將派克(Pike)的規(guī)則3和4改寫為:“如果有疑問,請(qǐng)使用暴力”。 規(guī)則3和4是KISS設(shè)計(jì)理念的實(shí)例。

規(guī)則5以前由弗雷德·布魯克斯在“人月神話”中說過。 規(guī)則5通常縮寫為“編寫使用智能對(duì)象的愚蠢代碼”。

鏈接:http://users.ece.utexas.edu/~adnan/pike.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容