拉取請求審查流程桑基圖:由大小到合併

睇拉取請求由大小,經首次審查結果,去到合併、返工或放棄。將示範數字換成你自己嘅程式庫資料,搵出審查卡喺邊。

拉取請求桑基圖顯示變更開咗之後會點樣:一次通過、被退回返工,或者被關閉。按大小分組後,可以睇出係咪大型變更拖慢咗審查。

例子有 250 個拉取請求:120 個細型、90 個中型同 40 個大型。首次審查之後,130 個獲批准,90 個被要求修改,30 個未經審查就被關閉。最終 198 個合併,12 個放棄,10 個仍然開放。

闊度令大小嘅代價一目了然:120 個細型變更入面有 90 個一次通過,但 40 個大型變更只有 5 個。返工路徑喺呢度係一股流而唔係迴圈,所以被退回兩次嘅請求只會按最終結果計一次。想睇呢啲變更觸發嘅建置之後點樣,可以睇 /yue/sankey/ci-pipeline-outcomes。

點樣閱讀呢個圖表

  • 250 個拉取請求入面有 198 個(79%)最終合併;12% 未經審查就被關閉。
  • 75% 嘅細型變更(120 個入面有 90 個)一次通過,大型變更則只有 13%(40 個入面有 5 個)。
  • 被退回嘅 90 個變更入面,有 70 個(78%)返工後合併;12 個被放棄。
  • 仍有 10 個請求開放,其中 8 個係被要求修改後在等待。

圖表背後嘅資料

虛構數字,只作說明,並非任何真實公司、團隊或系統嘅資料。

拉取請求審查流程桑基圖:由大小到合併 (個拉取請求)
來源目標數量(個拉取請求)
細型(少於 100 行)一次通過90
細型(少於 100 行)要求修改22
細型(少於 100 行)未經審查關閉8
中型一次通過35
中型要求修改45
中型未經審查關閉10
大型(超過 500 行)一次通過5
大型(超過 500 行)要求修改23
大型(超過 500 行)未經審查關閉12
一次通過已合併128
一次通過仍然開放2
要求修改已合併70
要求修改已放棄12
要求修改仍然開放8

同樣嘅資料(CSV)

source,target,value
細型(少於 100 行),一次通過,90
細型(少於 100 行),要求修改,22
細型(少於 100 行),未經審查關閉,8
中型,一次通過,35
中型,要求修改,45
中型,未經審查關閉,10
大型(超過 500 行),一次通過,5
大型(超過 500 行),要求修改,23
大型(超過 500 行),未經審查關閉,12
一次通過,已合併,128
一次通過,仍然開放,2
要求修改,已合併,70
要求修改,已放棄,12
要求修改,仍然開放,8

運作方式

  1. 匯出一個時段嘅拉取請求

    包括變更行數、首次審查結果同最終狀態。取一個季度或者一個發佈週期。

  2. 按大小分組

    揀兩至三個大小級別,並說明點樣劃分。每個請求只計一次。

  3. 計算首次審查同最終結果

    中間一欄用首次審查結果,最後一欄用最終狀態。

  4. 檢查平衡

    中間每個節點流出嘅請求數必須等於流入。「未經審查關閉」喺呢度完結。

常見問題

點解唔將審查輪次畫成迴圈?

因為闊度代表數量,迴圈會令同一個請求被計兩次。如果輪次好重要,可以另外做一張圖,用輪次數目做中間一欄。

有冇顯示審查速度?

冇。闊度只係數量。可以將首次審查所需時間放喺圖表旁邊嘅表格,或者另做一張時間區間嘅圖。

編輯呢個拉取請求桑基圖

將例子開成你自己嘅圖表,輸入你嘅程式庫數字。

編輯呢個拉取請求桑基圖

桑基圖的更多內容