有時(shí)開(kāi)發(fā)人員會(huì)推回代碼審查。要么他們不同意你的建議讨便,要么他們會(huì)抱怨你太嚴(yán)格了充甚。
誰(shuí)是對(duì)的
當(dāng)一個(gè)開(kāi)發(fā)人員不同意你的建議時(shí),首先花點(diǎn)時(shí)間考慮一下他們是否正確霸褒。通常伴找,他們比你更接近代碼,因此他們可能對(duì)代碼的某些方面有更好的了解傲霸。他們的論點(diǎn)有意義嗎?從代碼健康的角度來(lái)看疆瑰,這樣做有意義嗎?如果是這樣,讓他們知道他們是對(duì)的昙啄,讓這個(gè)問(wèn)題消失穆役。
然而,開(kāi)發(fā)人員并不總是正確的梳凛。在這種情況下耿币,評(píng)審人應(yīng)該進(jìn)一步解釋為什么認(rèn)為自己的建議是正確的。一個(gè)好的解釋既表明了對(duì)開(kāi)發(fā)人員的回復(fù)的理解韧拒,也說(shuō)明了為什么要求更改變更淹接。
特別是,當(dāng)評(píng)審人認(rèn)為他們的建議將改善代碼的健康狀況時(shí)叛溢,如果他們認(rèn)為所得到的代碼質(zhì)量改進(jìn)能夠證明所要求的額外工作是合理的塑悼,那么他們應(yīng)該繼續(xù)提倡更改。改善代碼的健康狀況往往是在小步進(jìn)行的楷掉。
有時(shí)候厢蒜,在真正理解一個(gè)建議之前,需要花幾輪時(shí)間來(lái)解釋它。只要確保始終保持禮貌斑鸦,讓開(kāi)發(fā)人員知道你聽(tīng)到了他們說(shuō)的話愕贡,你只是不同意。
心煩不安的開(kāi)發(fā)人員
評(píng)審員有時(shí)認(rèn)為巷屿,如果評(píng)審員堅(jiān)持要進(jìn)行改進(jìn)固以,開(kāi)發(fā)人員會(huì)感到煩躁。
有時(shí)開(kāi)發(fā)人員確實(shí)會(huì)感到沮喪嘱巾,但通常是簡(jiǎn)短的憨琳,之后他們會(huì)非常感謝您幫助他們提高了代碼的質(zhì)量。通常情況下浓冒,如果你在評(píng)論中表現(xiàn)得很有禮貌栽渴,開(kāi)發(fā)人員實(shí)際上一點(diǎn)也不會(huì)感到不安,而這種擔(dān)心只存在于評(píng)論者的腦海中稳懒。令人煩惱的通常是寫(xiě)注釋的方式,而不是評(píng)審人對(duì)代碼質(zhì)量的堅(jiān)持慢味。
稍后再清理
推回的一個(gè)常見(jiàn)情況是開(kāi)發(fā)人員(可以理解)希望盡快完成工作场梆。他們不想對(duì)這個(gè)CL來(lái)另一輪的審查。所以他們說(shuō)他們會(huì)在以后的CL中清理一些東西纯路,所以你現(xiàn)在應(yīng)該以“LGTM”來(lái)通過(guò)這個(gè)CL的代碼審查或油。一些開(kāi)發(fā)人員對(duì)此非常擅長(zhǎng),他們將立即編寫(xiě)一個(gè)后續(xù)CL來(lái)修復(fù)這個(gè)問(wèn)題驰唬。然而顶岸,經(jīng)驗(yàn)表明,在開(kāi)發(fā)人員編寫(xiě)原始CL之后叫编,時(shí)間越長(zhǎng)辖佣,清理的可能性就越小。事實(shí)上搓逾,通常情況下卷谈,除非開(kāi)發(fā)人員在當(dāng)前CL之后立即進(jìn)行清理,否則就不會(huì)清理了霞篡。這并不是因?yàn)殚_(kāi)發(fā)人員不負(fù)責(zé)任世蔗,而是因?yàn)樗麄冇泻芏喙ぷ饕觯謇砉ぷ髟谄渌ぷ鞯膲毫ο聛G失或遺忘了朗兵。因此污淋,通常最好是堅(jiān)持在代碼進(jìn)入代碼庫(kù)并“完成”之前,讓開(kāi)發(fā)人員現(xiàn)在清理他們的CL余掖,寸爆。讓人們消退這種“以后再清理”代碼庫(kù)的常見(jiàn)方式。
如果CL引入了新的復(fù)雜性,在提交之前必須進(jìn)行清理而昨,除非是緊急情況救氯。如果CL暴露了周?chē)膯?wèn)題,而這些問(wèn)題現(xiàn)在還不能解決歌憨,那么開(kāi)發(fā)人員應(yīng)該為清理工作提交一個(gè)bug着憨,并將其分配給自己,這樣它就不會(huì)丟失务嫡。他們還可以編寫(xiě)TODO注釋關(guān)聯(lián)到這個(gè)bug上甲抖。
對(duì)嚴(yán)格的一般性抱怨
如果你以前有相當(dāng)寬松的代碼審查,而你現(xiàn)在有嚴(yán)格的審查心铃,一些開(kāi)發(fā)人員將會(huì)非常大聲地抱怨准谚。提高代碼評(píng)審的速度通常會(huì)使這些抱怨逐漸消失。
有時(shí)可能需要幾個(gè)月的時(shí)間這些抱怨才會(huì)消失去扣,但最終開(kāi)發(fā)人員往往會(huì)看到嚴(yán)格的代碼審查的價(jià)值柱衔,因?yàn)樗麄儠?huì)看到Review后幫助生成的代碼有多棒。有時(shí)愉棱,最大聲的抗議者甚至?xí)蔀槟阕顖?jiān)定的支持者唆铐,一旦發(fā)生了什么事情,讓他們真正看到你通過(guò)嚴(yán)格來(lái)增加的價(jià)值奔滑。
解決沖突
如果你遵循了以上所有的原則艾岂,但是仍然遇到自己和開(kāi)發(fā)人員之間的沖突,并且無(wú)法解決朋其,那么請(qǐng)參閱代碼審查標(biāo)準(zhǔn)王浴,以獲得有助于解決沖突的指導(dǎo)原則。