自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

PR 閑置時間太長?審查 PR 與創(chuàng)建 PR 同樣重要

開發(fā) 前端
軟件交付智能平臺 LinearB 的數(shù)據(jù)科學團隊研究了來自 2.6 萬名開發(fā)者的 73.3 萬個 PR 和 390 萬條評論,發(fā)現(xiàn):50% 的 PR 在其生命周期的 50.4% 的時間里處于閑置狀態(tài) ;33% 的 PR 在其生命周期中閑置了 77.8%(高達)的時間;參與調(diào)查的開發(fā)人員的平均周期時間為 6 天 + 5 小時;這些開發(fā)人員的平均 PR 審查時間為 4 天 + 7 小時。

軟件交付智能平臺 LinearB 的數(shù)據(jù)科學團隊研究了來自 2.6 萬名開發(fā)者的 73.3 萬個 PR 和 390 萬條評論,發(fā)現(xiàn):

  • 50% 的 PR 在其生命周期的 50.4% 的時間里處于閑置狀態(tài) ;
  • 33% 的 PR 在其生命周期中閑置了 77.8%(高達)的時間;
  • 參與調(diào)查的開發(fā)人員的平均周期時間為 6 天 + 5 小時;
  • 這些開發(fā)人員的平均 PR 審查時間為 4 天 + 7 小時。

對此,LinearB 的 COO 兼聯(lián)合創(chuàng)始人 Dan Lines 則認為,PR 過程中的閑置時間就是開發(fā)者流程中的一個 killer。并表示,PR 悖論給自己和團隊帶來了很大的困擾。根據(jù)解釋,所謂 PR 悖論(Pull Request Paradox)就是:我剛剛寫了一些代碼,可以對我們的客戶產(chǎn)生積極的影響,我有動力盡快發(fā)布它。我需要你的幫助,但你卻很忙,而且有動力繼續(xù)寫你自己的代碼。這種沖突就是 PR 悖論。

Dan 稱,研究所得的數(shù)據(jù)意味著:

  • 每塊工作平均有兩天的閑置時間,造成了生產(chǎn)力浪費。

此舉損害了開發(fā)團隊合并和發(fā)布代碼的能力,從而阻止價值交付。

閑置的時間會導致情景意識的降低、代碼質(zhì)量的降低和努力的浪費。“在我們打開一個新的 PR 之后,每過一個小時,重新審視我們的代碼的認知負荷就會增加。如果我在一兩天后收到問題或修改請求,就很難再回到我原來的流程狀態(tài)。閑置時間損害了質(zhì)量,因為當生產(chǎn)中出現(xiàn)我?guī)滋旎驇字芮皩懙拇a的問題時,就更難調(diào)試了。”

導致團隊承諾無法兌現(xiàn)。

不過 Dan 的觀點也遭到了一些網(wǎng)友的反駁,以下是 Reddit 上網(wǎng)友討論中的一些高贊回答:

IceSentry:

文章中提到,在任務之間很難找到時間進行 quick review。這就是你的問題所在。審查 PR 應該是一項與創(chuàng)建 PR 同樣重要的任務。如果有公開的 PR,就不要開始工作。開始在一個新問題上工作只會使一切變得更糟,并使你的團隊更加緩慢。

顯然,要鼓勵提交小的 PR;如果是大的 PR,則至少要盡量把它分成明確的提交。

grauenwolf:

審查 PR 應該是一項與創(chuàng)建 PR 同樣重要的任務。

大眾需要理解這一點。高質(zhì)量的代碼并不 cheap,尤其是在為項目定義設計模式的初期。

如果你在這一步上偷懶,你的代碼將很快變得雜亂無章(big ball of mud)。

8BitSk8r:

請告訴我的同事這個​​。他們認為“agile”意味著“we don't plan we just react”。

此外,Dan 還在文章中列舉了一些 PR 的替代方案。首先是"真正的"持續(xù)集成?,F(xiàn)在很流行的一種說法是,CI 和 PR 是相互排斥的?;谥鞲傻拈_發(fā)允許開發(fā)人員直接提交到主分支,而不需要任何形式的審查或合并過程。但 Dan 認為,這種方法可能只適用于最精英的團隊;對 95% 的人來說,它的缺點要大于優(yōu)點。

其次是有人提出了一種 Ship / Show / Ask 策略:這是一種分支策略,它結(jié)合了 PR 的功能和保持發(fā)送變更的能力。Changes 被歸類為"Ship"(不經(jīng)審查合并到主線)、"Show"(打開 PR 進行審查,但立即合并到主線)或 "Ask"(在合并之前打開 PR 進行討論)??偟膩碚f,此策略對于低風險的工作,選擇直接合并而不審查或事后審查是有一定道理的。但是 Dan 指出它也存在一個問題,即目前大多數(shù)團隊都沒有適當?shù)亩x、流程和自動化來使其發(fā)揮作用。

此外還有結(jié)對編程(Pair programming),不過這一方法好像也不盡適用。“我知道很多開發(fā)團隊使用結(jié)對來補充異步拉取請求審查,而我個人從未在一個使用結(jié)對來取代 PR 的團隊工作過。”

Dan 表示,他不認為 PR 會消失。“根據(jù)我的經(jīng)驗,在合并之前讓隊友審查你的代碼是提高質(zhì)量和減少錯誤的最好、最實惠的方法。PR 在捕捉可維護性錯誤方面特別有效,而這些錯誤是很難通過自動測試發(fā)現(xiàn)的”。且很多開發(fā)人員都同意 PR 是提高學習和教學質(zhì)量的好工具。

而 LinearB 團隊也針對 PR 悖論推出了一個相關的提升 PR 審查效率的方案,并表示已收獲了積極地反饋。詳情可查看文章。

本文轉(zhuǎn)自OSCHINA

本文標題:PR 閑置時間太長?審查 PR 與創(chuàng)建 PR 同樣重要

本文地址:https://www.oschina.net/news/176589/pull-request-review

責任編輯:未麗燕 來源: 開源中國
相關推薦

2011-06-13 14:54:35

PageRank算法

2011-05-10 17:20:52

PR

2013-08-14 17:11:32

PR移動游戲移動應用

2011-06-24 10:23:33

PR值

2011-07-21 16:32:27

PR

2021-08-05 08:18:02

開源項目 PR

2021-08-04 09:33:22

Go 性能優(yōu)化

2012-04-05 10:27:49

GooglePR之賽

2011-05-10 17:11:46

PR值

2022-07-04 09:17:37

Flask開源

2011-06-30 16:01:48

2011-06-15 17:55:29

PR值

2011-06-20 17:39:19

PR值

2011-05-10 14:00:54

2013-08-20 14:14:29

海外市場移動游戲移動應用PR推廣技巧

2023-09-15 09:00:00

GitHub開源ChatGPT

2018-09-12 15:11:35

微軟GitHub開發(fā)者

2022-03-30 08:36:32

Node.jsPRHTTP

2023-04-27 09:55:09

分類器ROC曲線混淆矩陣

2021-08-27 07:22:48

React組件前端
點贊
收藏

51CTO技術棧公眾號