又是一篇需要我們多些思考的文章~
簡介下Rob Pike
Rob Pike是Unix的先驅(qū),UTF-8的設(shè)計人,Go語言核心設(shè)計者之一。
Rob Pike的5條編程規(guī)則
原文地址:http://users.ece.utexas.edu/~adnan/pike.html
中文翻譯:
羅布·派克(Rob Pike)的編程五原則
-
原則1: 你無法判斷一個程序的時間消耗在哪里。瓶頸常常出現(xiàn)在意想不到的地方,所以在證明瓶頸確實存在之前,不要試圖猜測并添加加速技巧。
-
原則2:測試。在測試之前,不要調(diào)整速度,即使測試之后,除非一部分代碼明顯超過其他部分,否則也不要調(diào)整速度。
-
原則3:當n很小的時候,花哨的算法很慢,而n通常都很小?;ㄉ诘乃惴ň哂写蟮某?shù)。在你知道n經(jīng)常變得很大之前,不要使用花哨的算法。(即使n確實變得很大,也要首先使用原則2。)
-
原則4:花哨的算法比簡單的算法更容易出錯,而且更難實現(xiàn)。使用簡單的算法和簡單的數(shù)據(jù)結(jié)構(gòu)。
-
原則5:數(shù)據(jù)占主導(dǎo)地位。如果你選擇了正確的數(shù)據(jù)結(jié)構(gòu)并把事情組織得很好,那么算法幾乎總是不言自明的。數(shù)據(jù)結(jié)構(gòu)而不是算法是編程的核心。
派克的原則1和原則2重申了托尼·霍爾(Tony Hoare)的名言“過早的優(yōu)化是所有邪惡的根源”??稀丈↘en Thompson)將派克的原則3和原則4重新表述為“當有疑問時,使用暴力手段”。原則3和原則4是KISS設(shè)計哲學的實例。原則5之前由弗雷德·布魯克斯(Fred Brooks)在《人月神話》中提出。原則5通常被縮短為“編寫使用智能對象的愚蠢代碼”。
我的理解:
羅布·派克的編程五原則為編程提供了重要的指導(dǎo)。
對于原則1,你無法判斷一個程序的時間消耗在哪里。這個原則強調(diào)了性能分析的必要性。在嘗試優(yōu)化代碼之前,你應(yīng)該首先確定代碼的哪部分是性能瓶頸。性能分析可以通過工具和技術(shù)來進行,例如使用性能分析器(profiler)來檢測代碼的熱點。通過分析代碼的運行時間和資源消耗,你可以找到需要優(yōu)化的關(guān)鍵部分。
對于原則2:測試。這個原則強調(diào)了基準測試的重要性。只有通過測量代碼的實際性能,你才能確定哪些部分需要優(yōu)化?;鶞蕼y試可以幫助你了解代碼在不同輸入和數(shù)據(jù)規(guī)模下的性能表現(xiàn)。在進行基準測試時,確保使用真實的數(shù)據(jù)和場景,以獲得準確的性能數(shù)據(jù)。只有通過測量,你才能做出明智的優(yōu)化決策。
對于原則3,當n很小的時候,花哨的算法很慢,而n通常都很小。這個原則提醒我們在選擇算法時要考慮數(shù)據(jù)規(guī)模。對于較小的數(shù)據(jù)集,簡單的算法通常表現(xiàn)更好,而且更容易實現(xiàn)和調(diào)試?;ㄉ诘乃惴赡茉诶碚撋暇哂懈玫男阅埽趯嶋H應(yīng)用中可能會受到常數(shù)因子和實現(xiàn)復(fù)雜度的限制。因此,在選擇算法時,要根據(jù)實際的數(shù)據(jù)規(guī)模和問題要求來做出決策。
對于原則4,花哨的算法比簡單的算法更容易出錯,而且更難調(diào)試。這個原則強調(diào)了簡單和清晰的重要性。簡單的算法和數(shù)據(jù)結(jié)構(gòu)更容易理解、實現(xiàn)和維護?;ㄉ诘乃惴赡苌婕皬?fù)雜的邏輯和數(shù)學操作,增加了出錯的可能性并降低了代碼的可讀性和可維護性。在編程中,簡單通常是一種美德,因為它減少了出錯的可能性并提高了代碼的可讀性和可維護性。
對于原則5,數(shù)據(jù)占主導(dǎo)地位。這個原則強調(diào)了數(shù)據(jù)結(jié)構(gòu)選擇的重要性。選擇合適的數(shù)據(jù)結(jié)構(gòu)可以極大地影響代碼的性能和可讀性。數(shù)據(jù)結(jié)構(gòu)決定了如何組織和訪問數(shù)據(jù),對于特定的問題和數(shù)據(jù)規(guī)模,選擇適當?shù)臄?shù)據(jù)結(jié)構(gòu)可以顯著提高代碼的性能。在選擇數(shù)據(jù)結(jié)構(gòu)時,要考慮數(shù)據(jù)的特征、訪問模式和問題要求。通過選擇合適的數(shù)據(jù)結(jié)構(gòu),你可以將算法的效率最大化。文章來源:http://www.zghlxwxcb.cn/news/detail-728417.html
總的來說,羅布·派克的編程五原則提醒我們在編程時要保持目標導(dǎo)向,避免過早優(yōu)化,選擇合適的算法和數(shù)據(jù)結(jié)構(gòu),以提高代碼的性能和可維護性。這些規(guī)則強調(diào)了性能分析、基準測試、數(shù)據(jù)規(guī)模和簡單性的重要性。通過遵循這些原則,你可以編寫出高效、健壯和易于維護的代碼。文章來源地址http://www.zghlxwxcb.cn/news/detail-728417.html
到了這里,關(guān)于淺談Rob Pike的五條編程規(guī)范的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!