怎麼進行CodeReview

2021-10-10 19:55:45 字數 1187 閱讀 1448

怎麼進行code review?

表定義:是否需要分庫/分表?根據業務預期增長情況考慮、2~3年

快取:redis、本地快取、

redis資料結構設計是否合理:zset、hash、string、set等

- 大key問題?

- 熱key問題?

資料結構/模型定義

相關分層結構?

- 同樣的**邏輯是否集中在同乙個服務/模組中,而不是零散在多個微服務、定時任務等多個地方?

- 讀寫db、修改快取是否集中的同乙個服務和模組中

是否需要訊息佇列/非同步等?

介面設計是否合理,介面引數是否合理,

效率與效能:

是否具有可擴充套件?

怎麼做到可擴充套件,乙個建議是面向抽象/介面程式設計,而不是面向具體程式設計?比如我們設計介面的時候,不要固定具體型別、引數、字段;依賴外部元件的時候,依賴抽象介面,而不是依賴具體物件;

比如下面的例子:

getdenouncerecordsbyinfoandctimeresponse getdenouncerecordsbyinfoandctime(

1:getdenouncerecordsbyinfoandctimerequest req)

struct getdenouncerecordsbyinfoandctimerequest

在我看來,上面的介面定義,就很死,不可擴充套件,如果後面想基於另外乙個引數查詢這個,就不好做了。需要定義另外乙個函式。

上面這個如果是我會定義成這樣:

getdenouncerecordsresponse getdenouncerecords(1:getdenouncerecordsrequest req)
然後在request裡面定義一些optional的條件字段,比如info、ctime、user、mtime等。

所有ugc內容,都需要檢查輸入資料是否安全。

csrf

是否需要過詞表、模型、審查?

是否存在記憶體/goroutine洩漏?鎖競爭?

sql語句是否合規?是否使用上索引?

空指標?提示語不合法?

**是否具有可測試性?

是否有魔數常量?

**是否適合修改、變更?控制開關等

日誌格式、等級是否規範等?

使用gerrit進行code review

gerrit系統提供了 review的機制。要使用其 review的功能,需要進行一些配置,新增一些相關的工具,並設定review人等相關資訊。具體步驟如下 scp p p 29418 user sina.git.intra.sina.com.cn hooks commit msg git hook...

如何進行Code Review

code review應該怎麼做 如何高效迅速的進行codereview 下面推薦一些 code review 工具 crucible atlassian 內部 審查工具 gerrit google 開源的 git 審查工具 github 程式設計師應該很熟悉了,上面的 pull request 在...

如何進行CodeReview

規範主要分為風格規範與設計規範兩大類 主要是文字上的規定,看似表面文章,實際上非常重要。具體有如下幾個方面 1 縮排 2 行寬 3 斷行 空白行 4 括號 5 命名 字母 下劃線 大小寫 6 注釋 a 單行注釋 b 多行注釋 c 變數 方法 類 包注釋 牽涉到程式設計 模組之間的關係 設計模式等方方...