<big id="yeiyz"><ruby id="yeiyz"></ruby></big>
    <track id="yeiyz"></track>
    <track id="yeiyz"></track>
    <p id="yeiyz"><del id="yeiyz"></del></p><td id="yeiyz"><option id="yeiyz"></option></td>
    1. <p id="yeiyz"></p>

      <td id="yeiyz"></td>

      Uber 開放公司內部《Go 語言風格指南》

      oschina
       oschina
      發布于 2019年10月13日
      收藏 75

      Uber 近日開放了其公司內部使用的《Go 語言風格指南》。

      Uber 介紹,“風格”也就是支配我們代碼的慣例,該指南出現在 Uber 公司內部是為了使代碼庫易于管理,同時讓工程師有效地使用 Go 語言特性。

      文檔中詳細描述了在 Uber 編寫 Go 代碼的注意事項,具體列出來的是“Dos and Don'ts of writing Go code at Uber”,也就是不該怎樣寫,而應該怎樣寫 Go 代碼。

      其中許多約定是 Go 的通用準則,而其它準則則參考了外部資源:

      指南涵蓋了“指導方針”、“性能”、“風格”與“模式”幾個大模塊,下設各項具體的注意事項:

      以“Defer to Clean Up(使用 defer 清理)”小節為例,該指南這樣描述:

      使用 defer 清理資源,例如文件和鎖。

      Bad Good
      p.Lock()
      if p.count < 10 {
        p.Unlock()
        return p.count
      }
      
      p.count++
      newCount := p.count
      p.Unlock()
      
      return newCount
      
      // easy to miss unlocks due to multiple returns
      p.Lock()
      defer p.Unlock()
      
      if p.count < 10 {
        return p.count
      }
      
      p.count++
      return p.count
      
      // more readable

      defer 的開銷非常小,只有在可以證明函數執行時間處于納秒級的程度時,才應避免使用。使用 defer 可以獲得更好的代碼可讀性,而它的開銷相比來說可以忽略不計。對于具有更多更大內存訪問的方法來說 defer 會顯得更加重要。

      詳情查看該指南:

      https://github.com/uber-go/guide/blob/master/style.md

      本站文章除注明轉載外,均為本站原創或編譯。歡迎任何形式的轉載,但請務必注明出處,尊重他人勞動共創開源社區。
      轉載請注明:文章轉載自 OSCHINA 社區 [http://www.url23.com]
      本文標題:Uber 開放公司內部《Go 語言風格指南》
      加載中

      精彩評論

      橙汁兒
      橙汁兒
      吳紅軍
      吳紅軍

      最新評論(12

      ♂茶舞
      ♂茶舞
      這與 google 的又不一樣,這么多標準
      OSC首席鍵客
      OSC首席鍵客
      go的代碼風格都固定了,看了那個截圖,好像只是告訴你怎么寫會要更好一點。
      無愛可葬
      無愛可葬
      看了一下沒什么特別的,都是基本操作,除了那個原子操作基本沒用過
      冷冷gg
      冷冷gg
      ?? 棒
      顧鑫-lygtq
      哈哈!英文不好,坐等中文版??
      冰力
      冰力
      你有能耐自己寫個語言或標準庫才有資格制定標準。
      橙汁兒
      橙汁兒
      吳紅軍
      吳紅軍
      二進制藝術
      二進制藝術
      哈哈
      魯魯托馬西
      呵呵
      1515979434
      1515979434
      嘿嘿
      Andyfoo
      Andyfoo
      學習
      返回頂部
      頂部
      聚看影院