Reivew的反饋速度

為什么代碼評審應(yīng)該是快速的?

我們優(yōu)化的是開發(fā)團(tuán)隊(duì)共同生產(chǎn)產(chǎn)品的速度,而不是單個開發(fā)人員編寫代碼的速度奉瘤。個人發(fā)展的速度很重要勾拉,只是沒有整個團(tuán)隊(duì)的速度重要。

當(dāng)代碼評審緩慢時盗温,會發(fā)生以下幾種情況:

  • 整個團(tuán)隊(duì)的速度降低了望艺。是的,那些對評審沒有快速反應(yīng)的人肌访,可以完成其他的工作找默。但是,由于每個CL都要等待評審和重新評審吼驶,團(tuán)隊(duì)其他成員的新特性和bug修復(fù)會延遲幾天惩激、幾周或幾個月店煞。
  • 開發(fā)人員開始抗議代碼審查過程。如果評審員每隔幾天才回復(fù)一次风钻,但每次都要求對CL進(jìn)行重大修改顷蟀,這對開發(fā)人員來說是很困難的。通常情況下骡技,這表現(xiàn)為對評審員的“嚴(yán)格”的抱怨鸣个。如果評審員要求進(jìn)行同樣的重大更改(這些更改確實(shí)改善了代碼的健康狀況),但是每次開發(fā)人員進(jìn)行更新時都能快速做出響應(yīng)布朦,那么抱怨就會消失囤萤。對代碼評審過程的大多數(shù)抱怨實(shí)際上是通過加快過程來解決的
  • 代碼健康狀況可能會受到影響是趴。當(dāng)評審緩慢時涛舍,就會增加壓力而允許開發(fā)人員提交不太好的CLs。緩慢的評審還會阻礙代碼清理唆途、重構(gòu)和對現(xiàn)有CLs的進(jìn)一步改進(jìn)富雅。

代碼評審應(yīng)該多快?

如果你沒有在執(zhí)行一個正在關(guān)注的任務(wù)中,當(dāng)有Code Reivew請求后應(yīng)該在很短時間內(nèi)進(jìn)行Code Reivew肛搬。

一個工作日是響應(yīng)代碼評審請求(即第二天早上的第一件事)所需要的最長時間没佑。

遵循這些指導(dǎo)原則意味著一個典型的CL應(yīng)該在一天之內(nèi)(如果需要的話)進(jìn)行多輪評審。

速度 vs. 中斷

有一段時間温赔,個人的速度比團(tuán)隊(duì)的速度更重要图筹。如果你正在集中精力做一項(xiàng)任務(wù),比如寫代碼让腹,不要打斷自己去代碼評審远剩。研究表明,在中斷開發(fā)之后骇窍,開發(fā)人員可能需要很長時間才能恢復(fù)到正常的開發(fā)流程瓜晤。因此,對團(tuán)隊(duì)來說腹纳,在編寫代碼時打斷自己的工作實(shí)際上比讓另一個開發(fā)人員等待代碼評審的時間更昂貴痢掠。

相反,在你的工作中等待一個斷點(diǎn)嘲恍,然后你才回應(yīng)一個審查的請求足画。這可能是當(dāng)你當(dāng)前的編碼任務(wù)完成后,午飯后佃牛,從會議回來淹辞,從茶水間回來,等等

快速的響應(yīng)

當(dāng)我們討論代碼評審的速度時俘侠,我們關(guān)心的是響應(yīng)時間象缀,而不是CL完成整個評審并提交所需的時間蔬将。理想情況下,整個過程也應(yīng)該是快速的央星,但個人快速響應(yīng)比整個過程快速發(fā)生更重要霞怀。

即使有時需要很長時間才能完成整個評審過程,在整個過程中得到評審員的快速響應(yīng)可以極大地減輕開發(fā)人員對“緩慢”的代碼評審感到的挫敗感莉给。

當(dāng)需要你對一個CL進(jìn)行Review時毙石,你實(shí)在太忙了。你仍然可以發(fā)送一個快速反應(yīng),讓開發(fā)人員知道什么時候可以開始Review,或建議其他可以更快地響應(yīng)的評審員,或者提供一些最初的廣泛評論颓遏。(注意:這并不意味著您應(yīng)該中斷編碼徐矩,即使是為了發(fā)送這樣的響應(yīng)—在您工作中的一個合理的斷點(diǎn)發(fā)送響應(yīng)。)
重要的是評審員要花足夠的時間在評審上州泊,以確保他們的“LGTM”(looks good to me:看起來不錯)是指“這段代碼符合我們的標(biāo)準(zhǔn)”。然而漂洋,個人的反應(yīng)仍然應(yīng)該是快速的遥皂。

跨時區(qū)Review

處理時區(qū)差異時,試著在作者還在辦公室的時候聯(lián)系他。如果他們已經(jīng)回家了,那么在他們第二天回到辦公室之前据某,確保你的Review已經(jīng)完成塑悼。

LGTM的評論

為了加快代碼審查的速度,在某些情況下馒闷,審查員應(yīng)該給予LGTM/通過,即使他們在CL上留下了未解決的注釋。這是在以下情況下完成的:

  • 評審員確信開發(fā)人員將適當(dāng)?shù)靥幚碓u審員的所有剩余評論窟她。
  • 其余的變更是次要的,不必由開發(fā)人員完成蔼水。
    如果不清楚的話震糖,評審員應(yīng)該指明他們想要的選項(xiàng)。

當(dāng)開發(fā)人員和評審員在不同的時區(qū)時趴腋,LGTM的評論尤其值得考慮吊说,否則開發(fā)人員可能要等一整天才能得到“LGTM,通過”优炬。

過大的CL

如果有人提交給你一個過大的CL颁井,你無法確定有時間去review。你一般要求開發(fā)者將該CL拆分成幾個小的CLs蠢护,而不是一個必須一次全部審查的巨大CL雅宾。這通常是可行的,并且對評審員非常有幫助葵硕,即使它需要開發(fā)人員做額外的工作秀又。

如果一個CL不能分解成更小的CL单寂,并且您沒有時間快速地檢查整個CL,那么至少要對CL的總體設(shè)計寫一些注釋吐辙,并將其發(fā)送給開發(fā)人員進(jìn)行改進(jìn)宣决。作為審查人員,您的目標(biāo)之一應(yīng)該是始終解除對開發(fā)人員的阻塞昏苏,或使他們能夠迅速采取某種進(jìn)一步的行動尊沸,而不犧牲代碼的健康狀況。

隨著時間的推移贤惯,代碼評審會得到改進(jìn)

如果您遵循這些指導(dǎo)原則洼专,并且對代碼評審非常嚴(yán)格,那么您應(yīng)該會發(fā)現(xiàn)孵构,隨著時間的推移屁商,整個代碼評審過程會變得越來越快。開發(fā)人員了解健康的代碼需要什么颈墅,并從一開始就向您發(fā)送很棒的CLs蜡镶,這需要的審查時間越來越少。評審員要學(xué)會快速響應(yīng)恤筛,不要在評審過程中增加不必要的延遲官还。但是不要為了提高速度而在Code Review標(biāo)準(zhǔn)或質(zhì)量上妥協(xié)——從長遠(yuǎn)來看,這實(shí)際上不會使任何事情效率得到提升毒坛。

緊急情況

在一些緊急情況下望伦,CLs必須非常快速地通過整個評審過程煎殷,并且質(zhì)量方針將會放松屯伞。但是,請看看什么是緊急情況?用于描述哪些情況實(shí)際上屬于緊急情況豪直,哪些不屬于緊急情況愕掏。

下一章:如何編寫代碼評論

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市顶伞,隨后出現(xiàn)的幾起案子饵撑,更是在濱河造成了極大的恐慌,老刑警劉巖唆貌,帶你破解...
    沈念sama閱讀 211,376評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件滑潘,死亡現(xiàn)場離奇詭異,居然都是意外死亡锨咙,警方通過查閱死者的電腦和手機(jī)语卤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人粹舵,你說我怎么就攤上這事钮孵。” “怎么了眼滤?”我有些...
    開封第一講書人閱讀 156,966評論 0 347
  • 文/不壞的土叔 我叫張陵巴席,是天一觀的道長。 經(jīng)常有香客問我诅需,道長漾唉,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,432評論 1 283
  • 正文 為了忘掉前任堰塌,我火速辦了婚禮赵刑,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘场刑。我一直安慰自己般此,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,519評論 6 385
  • 文/花漫 我一把揭開白布牵现。 她就那樣靜靜地躺著铐懊,像睡著了一般。 火紅的嫁衣襯著肌膚如雪施籍。 梳的紋絲不亂的頭發(fā)上居扒,一...
    開封第一講書人閱讀 49,792評論 1 290
  • 那天概漱,我揣著相機(jī)與錄音丑慎,去河邊找鬼。 笑死瓤摧,一個胖子當(dāng)著我的面吹牛竿裂,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播照弥,決...
    沈念sama閱讀 38,933評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼腻异,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了这揣?” 一聲冷哼從身側(cè)響起悔常,我...
    開封第一講書人閱讀 37,701評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎给赞,沒想到半個月后机打,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,143評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡片迅,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,488評論 2 327
  • 正文 我和宋清朗相戀三年残邀,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,626評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡芥挣,死狀恐怖驱闷,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情空免,我是刑警寧澤空另,帶...
    沈念sama閱讀 34,292評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站鼓蜒,受9級特大地震影響痹换,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜都弹,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,896評論 3 313
  • 文/蒙蒙 一娇豫、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧畅厢,春花似錦冯痢、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至咪辱,卻和暖如春振劳,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背油狂。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工历恐, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人专筷。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓弱贼,卻偏偏與公主長得像,于是被迫代替她去往敵國和親磷蛹。 傳聞我的和親對象是個殘疾皇子吮旅,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,494評論 2 348

推薦閱讀更多精彩內(nèi)容