Alan Tsai 的學習筆記


學而不思則罔,思而不學則殆,不思不學則“網貸” 記錄軟體開發的點點滴滴 著重於微軟技術、網頁開發、DevOps、C#, Asp .net Mvc、Azure、AI、Chatbot、Docker、Data Science

[03][讓團隊彼此知道程式碼走向]Azure DevOps的Pull Request提供了什麽功能?

2019-05-29 Wednesday
[03][讓團隊彼此知道程式碼走向]Azure DevOps的Pull Request提供了什麽功能?.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/、https://www.freepik.com/free-photo/magnifying-glass-stock-market-graph-paper_3095564.htm

在上一篇(何爲Pull Request並且如何建立 - 以Azure DevOps爲例)介紹了如何透過建立branch來把修改獨立出來,並且在修改完成之後透過建立Pull Request的方式建立出可以Code Review的一個請求。

這一篇將來看看Azure DevOps裡面的Pull Request包含了那些功能。

Pull Request的基本功能以及4個tab功能介紹

在進入任何一個Pull Request的時候,在上半段是幾個和這個Pull Request有關的重要訊息以及操作:

  1. 可以看到是那個branch要merge到哪一個 - 這邊如果設定錯誤可以做一些調整
  2. 這邊可以看到所有comment的狀態 - 第一個數字代表多少個已經處於close狀態,後面的數字則是總共有幾個comment
  3. approve 按鈕 - 如果reviewer覺得沒有問題,那麽就可以按下Approve代表通過。在按鈕旁邊的下拉還有幾種不同的決定可以選擇
  4. complete 按鈕 - 決定要merge。按鈕旁邊的下拉還有其他選項,包含把這個Pull Request直接拒絕掉。
ApplicationFrameHost_2019-05-19_19-03-48.png
幾個重要的訊息及按鈕

approve以及complete的差異

approve代表這個reviewer對於這個pull request的態度。

不過,取決於各個公司訂立的規則,很有可能需要至少幾個reviewer確認過,才能夠把他merge回去。換句話説,才能夠選擇complete按鈕。

在往下看,會看到總共有4個tab分別為:

  1. Overview
  2. Files
  3. Updates
  4. Commits

Overview

這一個tab包含了這個Pull Request的整個Overview訊息。

總共有幾個部分:

  1. Description:顯示當初建立這個Pull Request的人所寫的詳細描述
  2. comment:不管是透過這邊直接留下的comment或者因爲選擇某一段程式碼所作出的comment都會在這邊一個一個呈現
  3. Work Items:如果有使用Azure DevOps的issue tracking,那麽這邊是可以直接看到原始需求方便參照
  4. Reviewers:有指派那幾個人要做Review的動作
  5. Labels:可以針對這個Pull Request下label - 類似於一個summary概念。例如可以下一個WIP代表這個Pull Request還在Work In Progress因此先不要merge。
ApplicationFrameHost_2019-05-19_18-47-47.png
Overview幾個重要的點

Reviewer一般來説,用到最多是第2點,有任何建議或者意見直接寫成comment,能夠給coder一些建議。

如果有針對某一個程式碼片段做comment,也會在這邊出現。

因此,這一頁是overview,能夠看到所有的reviewer comment。

Files

Files這個tab就是透過看有被修改的檔案以及每一個片段

這一個tab有幾個部分:

  1. Updates - 這個等一下會更詳細介紹,但是基本上每一次push就是1次update - 因此如果有review過了,但是coder有更新,那麽可以切換這個filter只看某一個update - 換句話説之前看過的就不用看了
  2. 顯示那些Comment - 因爲可以針對某一個程式碼片段寫comment,透過這個可以控制那些comment要出現在檔案清單,以及在看每個檔案修改的時候要展開這個comment
  3. 修改檔案清單 - 這邊會列出有被修改的檔案,如果要只看某一個檔案的修改,可以點那個檔案,右邊就只會呈現那個檔案的修改。
  4. 差異比對 - 這個畫面可以看到差異比對,左邊是修改前,右邊是修改後 - 和一般的diff viewer沒什麽兩樣。
chrome_2019-05-29_22-52-58.png
Files頁面看到的内容

Updates

Updates這個概念很有意思,一般來説當coder在開發的時候,可能會有很多commit,但是都是到了一個段落之後,會做一次push。

或者說,只有當做好了才會push。

因此,理論上,每一次的push,都代表著一個更新

Updates就是要用來呈現這個訊息的功能,所以每一次push就會是一次更新

這個Tab能夠看到總共有幾次updates (換句話説幾個push),然後每一個push包含了什麽commit


可以看到總共兩個update,然後每一個update有一個commit

有update這個概念非常好,因爲:假設有review過了,其實我只會對新的code要再次review而已,這個時候就可以靠update

Updates這個Tab比較少直接看 - 不過不同的地方都可以看到這個功能的影子,舉例來説,Files裡面就可以切換呈現只看那個update,或者在Overview在看某一段程式碼comment的時候也會用到。

Commits

這個tab顧名思義,就是把所有的commit列出來。

這個tab用的情景還蠻低,因爲一般來説除非前面的訊息不夠,才會來看這個部分。

chrome_2019-05-29_23-15-59.png
commits範例 - 可以看到有2筆

結語

這一篇把Azure DevOps裡面對某一個pull request要做操作的畫面整個介紹了一遍。

相信有了這一篇對於Azure DevOps Pull Request有什麽功能應該有比較詳細的概念。

不過實際上會如何使用呢?下一篇([04]整合的威力 - 整個Review的過程),從使用的角度,來實際看看,如果run一個pull request的code review是什麽感覺。


如果文章對您有幫助,就請我喝杯飲料吧
街口支付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-05-29 Wednesday
comments powered by Disqus