Alan Tsai 的學習筆記


學而不思則罔,思而不學則殆,不思不學則“網貸” 為現任微軟最有價值專家 (MVP)、微軟認證講師 (MCT) 、Blogger、Youtuber:記錄軟體開發的點點滴滴 著重於微軟技術、C#、ASP .NET、Azure、DevOps、Docker、AI、Chatbot、Data Science

[04][讓團隊彼此知道程式碼走向]整合的威力 - 整個Review的過程

2019-06-08 Saturday
[04][讓團隊彼此知道程式碼走向]整合的威力 - 整個Review的過程.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/、https://www.freepik.com/free-photo/magnifying-glass-stock-market-graph-paper_3095564.htm

在上一篇([03]Azure DevOps的Pull Request提供了什麽功能?)瞭解了整個Azure DevOps的Pull Request功能之後,接下來就是看看在實際上如果整個串起來是什麽感覺。

這篇將從做一開始的需求,到最後整個功能確認修改好並且合併回主要分支。

這一篇也希望可以看到Azure DevOps這種一整套整合好的工具的好處。

整個Code Review的流程

在開始之前,先來看一下整個Code Review的流程會是如何:

Code Review流程.png
Code Review的流程

在上面流程可以看到,總共有主要兩個角色:

  1. 工程師:作爲開發功能的人
  2. 審核者:作爲審核開發者code的人
屬於那個角色的工作有用框框包起來。

整個步驟可以拆分幾個大項:

  1. 建立需求單
  2. 工程師建立分支修復完建立pull request
  3. 審核者審核code - 留下comment
  4. 工程師調整之後重新push
  5. 審核者再次review
  6. 結束

建立需求單

雖然在整個系列focus的點都是Pull Request的部分,但是可以看一下如果需求也是Azure DevOps管理的話整個會是如何。

可以在左上角的+號,或者從Boards -> Work Items 裡面去建立一個bug單。

ApplicationFrameHost_2019-06-08_22-47-24.png
ApplicationFrameHost_2019-06-08_22-49-50.png
建立bug單

工程師建立分支修復完建立pull request

有了需求單之後,接下來就是工程師要開始針對這個去修改。

修改的時候肯定希望開一個分支,這樣才能夠透過建立pull request來做code review。

在Azure DevOps上面的issue直接開分支很容易,只需要在單子的右邊點建立即可:

ApplicationFrameHost_2019-06-08_22-56-19.png
建立一個分支

有了這個分支之後,工程師就可以針對這個分支去做修改,然後push,最後push上去然後建立pull request。

相對應建立方式之前篇章有介紹過,這邊就不在重複介紹了。

審核者審核code - 留下comment

pull request建立出來之後,接下來就是由審核者去審核code。

審核者進入Pull Request之後,可以先透過右邊的work items快速看到單子當初的描述,以及Definition Of Done,可以用來做審核的依據。

再來可以透過Files功能,來看實際修改内容

chrome_2019-06-08_23-03-38.png
看到workitem以及切換到Files去看修改審核

Files tab可以看到title修改成功了,但是實際的描述沒有改到,因此這個時候就可以針對這一段做comment。

當然,如果有一些不是某一隻程式碼,那麽可以在Overview裡面的comment直接寫描述。

Review完了,直接把狀態改成Reject

chrome_2019-06-08_23-09-34.png
把某一段程式碼做comment,然後把狀態改成Reject

工程師調整之後重新push

工程師收到被Reject之後,就會來看留下了什麽comment。

把相對應的修改commit之後在push上去,就可以在通知審核者可以在重新看一下。

還記得每一次的push都是一個update,這個時候就會多出update。

chrome_2019-06-08_23-11-58.png
update增加一個

審核者再次review

這個時候審核著再重新Review的時候,可以直接看Overview的Tab頁面,就可以看到之前comment的程式碼修改情況。

  1. 可以切換View Orginal Diff來看這次修改之前 (也就是第一次看到的時候)長的樣子,以及目前的樣子確認是否修改好
  2. 切換的時候可以看右邊的修改結果是什麽
  3. 沒有問題可以留下新的備注
  4. 把這個comment resolve掉
  5. 右上角可以看到所有comment都resolve結束
chrome_2019-06-08_23-13-22.png
重新review修改

也可以切換到Files tab,然後只看最新的修改:

chrome_2019-06-08_23-18-36.png
只看最新修改

結束

最後檢查所有的comment都resolve完成。

這個時候可以把狀態改成Approve,然後Complete這一次的Pull Request。

chrome_2019-06-08_23-21-05.png
2019-06-08_23-21-52.png
檢查狀態,並且結束這個pull request

complete之後,branch以及work item會自動關掉以及結束。

這個時候,如果回去看本來的bug單,會發現:

  1. 狀態自動被改成Resolved
  2. 自動增加一個comment表示merge完成
  3. 有對應pull request鏈接以及merge commit的鏈接
chrome_2019-06-08_23-24-48.png
整個串在一起

結語

這篇介紹了整個code review從需求到結束的整個流程,並且看到了Azure DevOps作爲整個整合在一起的工具讓整個串在一起變得要找的時候非常方便。

相信到了這個階段,對於如何使用Azure DevOps做Code Review已經沒有什麽問題了,可是如果想要設定一些規則呢?

舉例來説,要完成pull request一定要至少程式可以build,或者至少有多少人Approve才可以。

這個要怎麽設定呢?下一篇([05][讓團隊彼此知道程式碼走向]如何强制走Pull Request?以及設定符合規則才能合並分支)來看看。


如果文章對您有幫助,就請我喝杯飲料吧
街口支付QR Code
街口支付QR Code
台灣 Pay QR Code
台灣 Pay QR Code
Line Pay 一卡通 QR Code
Line Pay 一卡通 QR Code
街口支付QR Code
支付寶QR Code
街口支付QR Code
微信支付QR Code
2019-06-08 Saturday
comments powered by Disqus