偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

我的 CodeReview 實戰(zhàn)經(jīng)驗

開發(fā) 前端
在企業(yè)內(nèi)部做 Code Review 流程上要簡單許多,畢竟溝通成本要低一些,往往都是達成一致之后才會開始開發(fā),所以重點就是 Review 的過程了。

背景

Code Review 是大家日常開發(fā)過程中很常見的流程,當然也不排除一些團隊為了快速上線,只要功能測試沒問題就直接省去了 Code Review。

我個人覺得再忙的團隊 Code Review 還是很有必要的(甚至可以事后再 Review),好處很多:

  • ? 跳出個人開發(fā)的思維誤區(qū),更容易發(fā)現(xiàn)問題
  • ? 增進團隊交流,提高整體的技術(shù)氛圍
  • ? 團隊水平檢測器,不管是審核者還是被審核的,review 幾次后大概就知道是什么水平了

通常 Code Review 有兩種場景,一種是公司內(nèi)部,還有就是開源社區(qū)。

開源社區(qū)

先說開源社區(qū),最近也在做 cim[1] 項目里做 Review,同時也在 Pulsar、OpenTelemetry、StarRocks 這些項目里做過 Reviewer。

以下是一些我參與 Code Review 的一些經(jīng)驗:

先提 issue

在提交 PR 進行 Code Review 之前最好先提交一個 issue 和社區(qū)討論下,你的這個改動社區(qū)是否接受。

我見過一些事前沒有提前溝通,然后提交了一個很復雜的 PR,會導致維護者很難 Review,同時也會打擊參與者的積極性。

所以強烈建議一些復雜的修改一定先要提前和社區(qū)溝通,除非這是一些十拿九穩(wěn)的問題。

個人 CI

一些大型項目往往都有完善的 CI 流程來保證代碼質(zhì)量,通常都有以下的校驗:

  • ? 各種測試流程(單元測試、集成測試)
  • ? 代碼 Code Style 檢測
  • ? 安全、依賴檢測等

如果一個 PR 連 CI 都沒跑過,其實也沒有提前 Review 的必要了,所以在提 PR 之前都建議先在自己的 repo 里將主要的 CI 都跑過再提交 PR。

這個在 Pulsar 的官方貢獻流程[2]里也有單獨提到。

圖片圖片

圖片

同時在 PR 模板[3]里也有提到,建議先在自己的 fork 的 repo 里完成 CI 之后再提交到 upstream

圖片圖片

這個其實也很簡單,我們只要給自己的 repo 提交一個 PR,然后在 repo 設(shè)置中開啟 Action,之后就會觸發(fā) CI 了。

圖片圖片

如果自己的 PR 還需要頻繁的提交修改,那建議可以先修改為 draft,這樣可以提醒維護者稍后再做 Review。

同時也不建議提交一個過大的 PR,盡量控制在 500 行改動以內(nèi),這樣才方便 Review。

Review 代碼

圖片圖片

Github 有提供代碼對比頁面,但也只是簡單的代碼高亮,沒法像 IDE 這樣提供函數(shù)跳轉(zhuǎn)等功能。

圖片圖片

所以對于 Reviewer 來說,最好是在本地 IDE 中添加 PR 的 repo,這樣就可以直接切換到 PR 的分支,然后再本地跟代碼,也更好調(diào)試。

有相關(guān)的修改建議可以直接在 github 頁面上進行評論,這樣兩者結(jié)合起來 Review,效率會更高。

Review 代碼其實不比寫代碼輕松,所以對免費幫你做 Review 的要多保持一些瑞思拜。

AI Review

現(xiàn)在 Github 已經(jīng)支持 copilot 自動 Review 了,它可以幫我們總結(jié)變更,同時對一些參加的錯誤提供修改建議。

圖片圖片

使用它還是可以幫我們省不少事情,推薦開啟。

企業(yè)內(nèi)部

在企業(yè)內(nèi)部做 Code Review 流程上要簡單許多,畢竟溝通成本要低一些,往往都是達成一致之后才會開始開發(fā),所以重點就是 Review 的過程了。

既然是在公司內(nèi)部,那就要發(fā)揮線下溝通的優(yōu)勢了;當然在開始前還是建議在內(nèi)部的代碼工具里比如說 gitlab 中提交一個 MR,先讓參會人員都提前看看大概修改了哪些內(nèi)容,最好是提前在 gitlab 中評論,帶著問題開會討論。

實際 Review 過程應(yīng)該盡量關(guān)注業(yè)務(wù)邏輯與設(shè)計,而不是代碼風格、格式等細枝末節(jié)的問題。

提出修改意見的時候也要對事不對人,我見過好幾次在 Review 現(xiàn)場吵起來的場景,就是代入了一些主觀情緒,被 Review 的覺得自己能力被質(zhì)疑,從而產(chǎn)生了一些沖突。

Code Review 做得好的話整個團隊都會一起進步,對個人來說參與一些優(yōu)質(zhì)開源項目的 Code Review 也會學到很多東西。

用鏈接

[1] cim: https://github.com/crossoverJie/cim/pull/170

[2] 官方貢獻流程: https://pulsar.apache.org/contribute/personal-ci/

[3] PR 模板: https://github.com/apache/pulsar/blob/master/.github/PULL_REQUEST_TEMPLATE.md

責任編輯:武曉燕 來源: crossoverJie
相關(guān)推薦

2017-01-05 16:29:00

2011-07-07 10:49:41

JavaScript

2023-10-23 13:03:04

2013-01-25 10:37:51

敏捷開發(fā)

2017-11-02 15:07:56

代碼重寫代碼開發(fā)

2015-11-10 09:50:51

IT實施計劃IT

2010-07-06 16:22:14

2015-11-10 09:40:55

IT實施計劃IT

2009-10-20 09:17:27

2025-07-09 07:15:00

AIGenAICIO

2021-05-19 20:20:56

Oracle歸檔修復

2010-02-23 16:17:59

2025-08-29 07:25:00

CIOAI企業(yè)

2025-09-28 07:00:00

IT人才招聘風險IT經(jīng)理

2025-06-27 09:00:00

勒索軟件網(wǎng)絡(luò)攻擊

2021-11-29 10:43:14

業(yè)務(wù)轉(zhuǎn)型員工CIO

2020-11-13 15:20:16

SCSS代碼前端

2017-08-21 08:20:03

海云捷迅教育云實戰(zhàn)

2025-07-04 00:00:00

2009-02-20 10:09:00

網(wǎng)吧掉線路由器
點贊
收藏

51CTO技術(shù)棧公眾號