網(wǎng)站建設中程序員請不要嘗試簡化這些代碼!

2021-05-22    分類: 網(wǎng)站建設

Kubernetes 是 Google 開源的一個容器編排引擎,它支持自動化部署、大規(guī)??缮炜s、應用容器化管理。Kubernetes  簡稱 K8s,用「8」替代 K 和 s 之間的 8 個字母「ubernete」。
    K8s  的 pv_controller.go 源碼大約 1700 行(含注釋),其中包括:230+ 個 if 語句、30 個 else 語句、5 個 else if 語句嵌套在一起。
請不要嘗試簡化這些代碼!

    乍一看,這代碼違背了 KISS (Keep it simple, stupid)原則。
    但是,K8s 的工程師們在注釋中用大寫英文標注:“請不要嘗試簡化這些代碼!”并且還寫了兩遍。
請不要嘗試簡化這些代碼!
      為啥強調兩遍?K8s 他們在注釋中特意解釋了。大意如下:
    這個控制器故意以一種非常冗長的風格編寫。你會發(fā)現(xiàn):
    1、每個 if 語句都有一個匹配的 else 語句(檢查客戶端 API 調用的簡單錯誤除外);
    2、有很多被顯式地注釋的東西;
    我們把這種風格叫做“航天飛機風格”。航天飛機的風格意味著,要確保每個分支和條件都得到考慮和說明。NASA 為航天飛機等應用程序編寫的代碼也是如此。
    最初,這個控制器的工作被分成三個控制器??刂破魇桥喕?PV 子系統(tǒng)的成果。在此過程中,我們要確保在代碼中處理和解釋了每一個條件,即使這會導致無 op 代碼分支。
    因此,控制器代碼可能看起來過于冗長、注釋過多和“分支”。但是,這里記錄了大量的業(yè)務知識和上下文,以便確保未來的維護者能夠正確地推斷綁定行為的復雜性。因此,對這個文件的修改,應該保留并增加航天飛機的風格。

網(wǎng)站欄目:網(wǎng)站建設中程序員請不要嘗試簡化這些代碼!
鏈接URL:http://www.bm7419.com/news10/114560.html

網(wǎng)站建設、網(wǎng)絡推廣公司-創(chuàng)新互聯(lián),是專注品牌與效果的網(wǎng)站制作,網(wǎng)絡營銷seo公司;服務項目有網(wǎng)站建設

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名