OceanBase筆記1:代碼規範

來源:互聯網
上載者:User

對自己的要求:

  • 瞭解OceanBase的編碼風格(代碼規範,異常機制等)
  • 瞭解OceanBase測試如何組織,如何啟動並執行
  • 瞭解OceanBase裡都用了哪些設計模式,在什麼情境下應用,解決了什麼問題
  • 可以暫不對其實現原理,進行探究
  • 初步只採用靜態分析的方式進行學習

命名規範:

  • 目錄:小寫
  • 檔案:小寫+底線
  • 類名:駝峰(大駝峰)
  • 常量:大寫+底線
  • 變數:小寫+底線
  • 方法名:小寫+底線
  • namespace:小寫

我覺得為什麼採用了這麼多不同的命名風格是不是想使代碼從長的樣子差異就特別大,肉眼掃過去憑著直覺就知道是什麼呢?

縮排

居然是兩個空格,絕對不能忍的,不知道是不是因為OB自己的編碼風格會造成一行字元太多就縮短了空格數呢?,但是個人覺得這樣會操作邏輯層次不清楚,自從寫了python以後我就是4空格支援者了(輸入還是1tab,配置成4空格長)不過進入一個團隊就沒辦法了,對於團隊來說一致編碼的風格才是重要的,貌似對於一個團隊來說,最高的標準就是所有代碼就像同一個人寫的:)

大刮號:

採用獨佔1行,上下對齊,我現在也是這樣的:),如果只有1行代碼還要不要刮號呢?google的編碼規範裡認為也是必須的,我現在也是這麼看的,因為一旦想加幾行代碼,說不定就把刮號這事給忘了,那麼就會造成個bug

 注釋:

  • 每個檔案頂部放著作權資訊,編寫人,維護人資訊
  • .H檔案裡描述類和類的方法的功能定義,輸入輸出,然後在.CPP檔案裡就不再描述
  • 含義明確的函數就不用再進行描述(例如沒有代碼的建構函式,解構函式)
  • 其他視感覺而定

 注釋例子:

/** * get the start key of next block *   * @param block_cache block cache  * @param table_id table id of the sstable which the block  *                 belongs to * @param column_group_id column group id of the sstable which  *                 the block belongs to  * @param start_key start key of next block  * @param reader the sstable reader which the rowkey belong to  *  * @return int if success,return OB_SUCCESS or OB_ITER_END, else  *         return OB_ERROR */ int get_start_key_of_next_block(sstable::ObBlockCache& block_cache,                                  uint64_t& table_id,                                 uint64_t& column_group_id,                                 common::ObString& start_key,                                 sstable::ObSSTableReader* sstable_reader = NULL);

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.