成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

團隊的Code Review實踐

原創 精選
開發
今天我們總結了一種比較高效的 Code Review 方案,并帶來了一個比較好用的工具。下面來和大家分享一下我們團隊 Code Review 實踐的歷程。

作者 | 蓋邁達

高效地進行 Code Review 一直是我們想要做的事情,如何持續保持高效 Review 也是我們日常開發中所亟需解決的問題。 

在疫情爆發之前,團隊大多是線下一起辦公。大家會聚在一起 Code Review,把討論出的反饋記錄在便利貼并貼在白板上。而當遠程、線上的同事越來越多后,我們選擇將 Code Review 的反饋記錄在 Trello 等電子看板上。 

今天我們總結了一種比較高效的 Code Review 方案,并帶來了一個比較好用的工具。下面來和大家分享一下我們團隊 Code Review 實踐的歷程。

Code Review的好處

一直以來,人們都說 Code Reivew 作為敏捷開發中重要的一環,實踐 Code Review 有很多益處,那么到底 Code Review 有什么益處呢? 到底是因為什么魔力,我們這么篤定每天去做 Code Review?

我們認真地思考了 Code Review 的益處,認為以下幾點在整個敏捷開發流程中起到了至關重要的作用。

互相學習,知識共享

我們無法保證項目中每個人都擁有相同的知識儲備,而且對于同一個問題,不同的人有不同的解決方案。通過 Code Review 我們可以快速地、有重點地將自己的知識傳遞給其他人。其他人也可以將代碼上下文、知識以及更好的解決方案提供給我們,讓我們做出更優的實現。

Code Review 可以讓業務上下文在團隊中共享。日常工作中,開發人員只會對自己負責的這塊業務比較熟悉。通過 Code Review 的方式,我們可以快速了解到其他業務上下文,更好地了解業務知識,讓每位同學對系統都有更全面的認識。

統一風格,提高代碼質量

團隊一般會有統一的代碼規范。有些規范可以借助工具掃描來實現統一,工具掃描不到的就要靠 Code Review 來統一規范。

莎士比亞說過:“一千個人眼里有一千個哈姆雷特”,針對同一段代碼可能多種實現都是可行的。如果沒有統一的風格,不便于后續對代碼的維護。通過 Code Review 的方式,我們可以在團隊內達成共識,形成統一的代碼規范,為后續開發提供標準,讓代碼看起來是同一個人寫的。

盡早暴露問題,降低修復成本

代碼開發過程中,我們很容易陷入到自己所預定的 Happy Path 中,反復驗證卻無法發現問題。通過 Code Review 我們可以借助他人的視角來審查自己的代碼。是復制的時候變量名忘記了修改,還是忘記了測試異常情況,或是理解錯業務含義等等。代碼從寫完到 Review 的時間間隔越短,解決問題的成本越低。和測試左移類似,Code Review 也可以將問題左移,從而盡早暴露,盡早修復。

我們團隊的 Code Review 實踐經歷

談了 Code Review 這么多好處,那么如何實踐 Code Review 呢?下面我們將自己團隊 Code Review 的經驗分享出來,與大家共同思考 Code Review 的最佳實踐:

團隊最初采用的 Code Review 方式是,每位開發分別講解自己的代碼。這種方式的好處是同一個功能的代碼能夠集中講解。但實施一段時間后發現超時嚴重,主要原因如下:

  • 講代碼的節奏不好把控。有人講得慢,導致嚴重超時。
  • 遠程辦公,不同講解人切換成本高。可能會遇到屏幕共享、聲音等設備問題。

由此引發下面的問題:

  • 每天只能 review 2、3個人的代碼
  • 有的開發人員不夠主動,很久才會輪到TA
  • Review 的代碼有遺漏

為了解決上面的問題,我們將 Code Review 改為如下形式:

  • 每天一位主持人帶團隊 Code Review
  • 選擇當天所有的提交記錄,一起 Review
  • 主持人驅動 Code Review,做簡單講解
  • 復雜代碼,提交人講解
  • 主持人通過工具記錄 Code Review 的問題

這種方式主持人把控節奏,并且沒有了切換成本,大大加快了 Code Review 的速度。而且每天每個人的提交都能被 review 到。此外,借助 Code Review 問題記錄工具,效率大幅提升。

我們認為通過主持人驅動的方式能夠更加高效地進行 Code Review,所以將其采納為我們團隊的 Code Review 最佳實踐。

但 Code Review 中手動記錄問題的過程非常煩瑣:發現問題 -> 切換Trello -> 手動建卡 -> 手動記錄問題代碼的位置。在此期間,我們開發了一款基于 JetBrains 平臺 (比如 Intellij IDEA、WebStorm) 的 Code Review 插件(在IDE的插件市場搜索 Thoughtworks Code Review Tools 即可體驗)。我們在后文中將會詳細介紹此插件。

Thoughtworks Code Review Tools 介紹

這個 Code Review 工具可以幫我們:

  • 創建 Code Review 反饋 卡片并指定 owner
  • 卡片會自動記錄代碼位置
  • 添加反饋卡片的類型(標簽)
  • 增加卡片截止時間
  • 支持 JetBrains 下的所有 IDE
  • 支持問題分類,方便利用 Trello board 儀表盤統計

安裝及配置

(1) 準備電子看板

插件需要配合 trello(在線看板管理工具) 使用。我們需要先注冊trello,并新建 Code Review 看板。

(2) 安裝插件

在 IDEA 插件市場搜索 Thoughtworks code review tools 并進行安裝

Github:??https://github.com/MTWGA/thoughtworks-code-review-tools??

圖片

下載頁面

(3) 配置插件

進入偏好設置 -> TW Code Review Tools 菜單進行配置插件信息

Trello Token 申請地址:https://trello.com/app-key

圖片

配置頁面

Trello Board 信息從Trello Board 地址欄可以找到,如下圖

圖片

修改完成后可以直接點擊 “Test Connection” 進行測試 或者直接點擊右下角 Apply 進行保存配置

記錄反饋

在 IDE 中選擇相應的代碼,而后使用快捷鍵 command+option+i 呼出 “code review feedback” 提示框。首先輸入或者選擇人名,按 Tab鍵切換輸入框,依次輸入類型、反饋。最后按 Enter 鍵提交。

圖片

Code review Feedback 頁面

提交成功后就有相應的提交成功的提示信息,如下圖

圖片

提交成功信息

我們也可以在 Trello上查看到信息,如下圖:

圖片

Trello 看板圖片

查看 Code Review 狀況

在 Trello 的 Code Review 看板上點擊標題左側的“看板”,轉換視圖到儀表盤即可查看統計的信息。具體操作如下圖:

圖片

轉換視圖

圖片

按照標簽選擇,查看code review分類信息

至此,Code Review 工具的配置及使用介紹完成。

Code Review 插件可以幫助我們快速記錄 Code Review 的反饋信息(代碼位置、反饋類型、截止時間,涉及的人員)。這些信息可以幫助開發者精確找到需要優化的代碼位置以及優化建議,方便開發者更快速、準確地優化代碼。

在開展Code Review一段時間之后,逐漸積累起了一定量的數據。此時我們可以通過統計工具分析數據。比如按照問題類型進行統計,對于出現次數多的問題分類,可以針對性展開培訓,提升團隊成員技能。

培訓完成后,我們可以根據新一輪統計結果分析培訓效果,觀察團隊是否確實得到了提升,從而形成閉環。

總結

Code Review 的好處雖然被廣泛認可,但想做好 Code Review 并不容易。首先團隊需要對開展 Code Review 達成共識,然后針對自己團隊的特性,采用相匹配的實踐方式。關于工具,可以嘗試文中提到的 Code Review 插件以及電子看板。在提升自動化程度的同時,積累 Code Review 數據,指導團隊針對性地提升技能。

使用插件過程中有任何問題或建議,請聯系插件開發團隊:

LiHui(??hui.li@thoughtworks.com??)

PengJie(??jie.peng@thoughtworks.com??)

GeMaida(??maida.ge@thoughtworks.com??)

LiYiming(??yiming.li@thoughtworks.com??)

?LiQiang(????qiangli@thoughtworks.com???)

原文鏈接:??團隊的Code Review實踐 (qq.com)??

責任編輯:趙寧寧 來源: 51CTO
相關推薦

2020-05-27 11:25:48

開發技能代碼

2018-08-16 15:11:47

Code ReviewPPT代碼

2012-07-05 09:45:02

代碼審查

2015-11-17 16:11:07

Code Review

2013-10-24 09:43:58

代碼代碼審查

2017-07-20 13:11:46

Code ReviewPR評審

2012-09-03 13:41:50

Code Review

2021-04-25 09:19:22

騰訊Code Reviewleader

2009-08-05 09:59:40

Code Review代碼審查工具

2021-08-09 06:57:41

CodeReview流程

2015-04-15 09:44:58

CodeReview程序員

2014-04-15 13:16:00

Code Review

2022-06-23 09:57:01

code-revie前端代碼

2020-06-19 10:17:11

Code ReviewKPI代碼

2017-09-13 16:46:38

敏捷站會團隊

2019-10-28 08:44:29

Code Review代碼團隊

2020-12-15 10:24:05

2015-01-29 09:52:43

Swift 開源蘋果

2018-07-05 13:35:04

DockerDevops開發

2020-02-07 11:50:24

代碼開發工具
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲欧洲精品在线 | 中文字幕亚洲欧美日韩在线不卡 | 国产视频一区二区三区四区五区 | 国产成人在线播放 | 日韩一区二区三区在线 | 久久精品国产亚洲 | 九九综合九九 | 国产精品久久久久久久久免费樱桃 | 亚洲精品久久久 | 91视视频在线观看入口直接观看 | 中文字幕一区二区三区在线乱码 | 久草视频在线播放 | 国产在线拍偷自揄拍视频 | 99热最新网址 | 美女在线观看国产 | 在线观看www | 999久久久国产精品 欧美成人h版在线观看 | 欧美成人免费在线视频 | 成人老司机| 美女天天操| 国产精品一卡 | 久久国产精品久久 | 欧美在线视频网 | 91爱啪啪| 亚洲五码在线 | 日韩精品成人网 | 亚洲一区亚洲二区 | 欧美成人精品在线 | 日韩a| 日韩伦理一区二区 | 黄色毛片在线播放 | 日韩成人免费视频 | 久久精品久久久久久 | 黄色大片在线播放 | 国产精品一区二区久久 | 日日爽 | 久久亚洲精品国产精品紫薇 | 国产一区二区三区视频在线观看 | 国产色网 | 久久91| 欧美精品91 |