国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

淺談Rob Pike的五條編程規(guī)范

這篇具有很好參考價值的文章主要介紹了淺談Rob Pike的五條編程規(guī)范。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

又是一篇需要我們多些思考的文章~

簡介下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),你可以將算法的效率最大化。

總的來說,羅布·派克的編程五原則提醒我們在編程時要保持目標導(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)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 現(xiàn)代C++中的從頭開始深度學習【2/8】:張量編程

    現(xiàn)代C++中的從頭開始深度學習【2/8】:張量編程

    ????????初學者文本 :此文本需要入門級編程背景和對機器學習的基本了解。 張量是在深度學習算法中表示數(shù)據(jù)的主要方式。它們廣泛用于在算法執(zhí)行期間實現(xiàn)輸入、輸出、參數(shù)和內(nèi)部狀態(tài)。 ????????在這個故事中,我們將學習如何使用特征張量 API 來開發(fā)我們的C+

    2024年02月13日
    瀏覽(22)
  • Java編程規(guī)范(代碼規(guī)范)--精選

    說明 本文介紹精選的Java編程規(guī)范(代碼規(guī)范)。遵守這些規(guī)范,代碼的bug數(shù)將會大幅減少,代碼可維護性、可讀性、擴展性會大幅上升。(本文持續(xù)更新) 為什么要有編程規(guī)范? 編程規(guī)范有如下作用: 提高代碼可讀性、維護性、擴展性 提高開發(fā)速度、減少bug 有助于留住人

    2024年02月05日
    瀏覽(28)
  • GPT/GPT4在人工智能,深度學習,編程等領(lǐng)域應(yīng)用

    GPT/GPT4在人工智能,深度學習,編程等領(lǐng)域應(yīng)用

    詳情點擊鏈接:GPT/GPT4在人工智能,深度學習,編程等領(lǐng)域應(yīng)用 一OpenAI 1.最新大模型GPT-4 Turbo 2.最新發(fā)布的高級數(shù)據(jù)分析,AI畫圖,圖像識別,文檔API 3.GPT Store 4.從0到1創(chuàng)建自己的GPT應(yīng)用 5. 模型Gemini以及大模型Claude2 二定制自己的GPTs 1.自定義GPTs使用 2.聊天交流的方式制作自己

    2024年01月17日
    瀏覽(25)
  • 2023年的深度學習入門指南(9) - SIMD和通用GPU編程

    2023年的深度學習入門指南(9) - SIMD和通用GPU編程

    深度學習從一開始就跟GPU有不解之緣,因為算力是深度學習不可或缺的一部分。 時至今日,雖然多任務(wù)編程早已經(jīng)深入人心,但是很多同學還沒有接觸過CPU上的SIMD指令,更不用說GPGPU的編程。這一篇我們先給SIMD和GPU編程掃個盲,讓大家以后用到的時候有個感性認識。 從多線

    2024年02月02日
    瀏覽(27)
  • 【編程】C++語言編程規(guī)范-2

    結(jié)合C++ Effective系列參考樹、尤其是工程經(jīng)驗教訓的總結(jié)。 并發(fā) 除非必要,盡量少用線程。 多線程編程要守護好內(nèi)存,使用atomic、mutex、condition variable、future、semaphore、latch、barrier等同步機制避免數(shù)據(jù)競爭。 盡量縮小臨界區(qū),臨界區(qū)指獨占的資源,禁止其他線程訪問變量的代

    2024年02月21日
    瀏覽(26)
  • 探索人工智能:深度學習、人工智能安全和人工智能編程(文末送書)

    探索人工智能:深度學習、人工智能安全和人工智能編程(文末送書)

    人工智能知識對于當今的互聯(lián)網(wǎng)技術(shù)人來說已經(jīng)是剛需。但人工智能的概念、流派、技術(shù)紛繁復(fù)雜,選擇哪本書入門最適合呢? 這部被譽為人工智能“百科全書”的《人工智能(第3版)》,可以作為每個技術(shù)人進入 AI 世界的第一本書。 購書鏈接,限時特惠5折 這本書是美國

    2024年02月03日
    瀏覽(53)
  • 淺談深度神經(jīng)網(wǎng)絡(luò)

    淺談深度神經(jīng)網(wǎng)絡(luò)

    Deep?neural?networks?are?completely?flexible?by?design,?and?there?really?are?no?fixed?rules?when?it?comes?to?model?architecture.??--?David?Foster 前言 神經(jīng)網(wǎng)絡(luò) (neural network) 受到人腦的啟發(fā),可模仿生物神經(jīng)元相互傳遞信號。神經(jīng)網(wǎng)絡(luò)就是由神經(jīng)元組成的系統(tǒng)。如下圖所示,神經(jīng)元有許多

    2024年02月15日
    瀏覽(19)
  • UE5 編程規(guī)范

    官方文檔 使用現(xiàn)代C++編程標準, 使用前沿C++標準庫版本.

    2024年02月12日
    瀏覽(55)
  • python 編程規(guī)范有哪些?

    Python 編程規(guī)范主要包括代碼布局、命名規(guī)范、注釋規(guī)范、函數(shù)編寫規(guī)范等多個方面,下面給出一些常見的編程規(guī)范及其示例代碼。 代碼布局規(guī)范主要是指代碼的縮進、行寬、空行、換行等方面,下面是一些常見的代碼布局規(guī)范: 使用四個空格作為一個縮進級別,不要使用制

    2024年02月01日
    瀏覽(28)
  • C/C++安全編程規(guī)范

    一、安全編程概述 1.安全編程的目的 安全編程是一種軟件開發(fā)方法,目的是通過采取具體措施來減少程序中存在的安全漏洞和黑客攻擊的可能性,確保軟件在運行過程中不會遭受攻擊或泄露敏感信息。 2.在進行安全編程時,需要遵循的安全最佳實踐和規(guī)范 2.1輸入驗證 對任何

    2024年01月23日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包