代碼審查不是用來…… ( Code Review )
在我們公司里要執(zhí)行代碼審查。這是我們每天的例行工作。事實(shí)上,今天的我們正是從這種一直堅(jiān)持探索的漫長道路上走出來的。我們嘗試各種技術(shù)、方法和工具,直到我們走到今天的成就(但這并不是說我們就此停步)。
在這旅途中,我們發(fā)現(xiàn)了很多的陷阱和危險(xiǎn),它們等待新手們上鉤。這篇文章就是關(guān)于它們的:代碼審查中的陷阱和誤解。
代碼控制:
很 多公司都把代碼審查當(dāng)成控制代碼的方法。很多這樣的公司都使用預(yù)提交策略。這種策略大多時(shí)候都是開源項(xiàng)目中使用,因?yàn)闀?huì)有成百上千的提交者??稍谝话愕墓? 司里,很少會(huì)有這種情況。如果你雇用一個(gè)人,這意味這你要完全信任他,允許他將代碼提交到代碼庫里。我知道有些公司會(huì)忍不住制定一些規(guī)程,要求程序員在提 交代碼前必須進(jìn)行“審查”和“批準(zhǔn)”,但這并不能保證代碼的質(zhì)量。而且,程序員很快就會(huì)把這種代碼審查當(dāng)作一種“愚蠢”的公司形式過程,會(huì)開始抵制它(例 如,每月改一次密碼。例如,使用像mypass1,mypass2等的密碼)。

審判廳:
不 要把代碼審查當(dāng)成尋找替罪羊和追究責(zé)任的工具。比如說,這有一個(gè)錯(cuò)誤,你找到“審查”這段代碼的人,并責(zé)備他沒有發(fā)現(xiàn)這個(gè)問題。這種事情會(huì)給公司里的開發(fā) 工作帶來嚴(yán)重的影響。人們會(huì)挑出每個(gè)分號放置不正確的地方,因?yàn)樗麄儞?dān)心會(huì)被當(dāng)成替罪羊。團(tuán)隊(duì)成員開始缺乏信心,并最終失去互信。
責(zé)任任務(wù):
不要過分要求程序員做代碼審查。如果你強(qiáng)迫他們每天做一小時(shí)的代碼審查,他們很快就會(huì)痛恨它,把它當(dāng)成一種無趣的任務(wù)。代碼審查是一種學(xué)習(xí),是表揚(yáng),是獲得反饋,是一種十分社交性的活動(dòng)。代碼審查應(yīng)該是有趣的,不要讓它變的無聊。
我和我的代碼
如 果你的代碼被某人審查,他會(huì)留下一些注釋(有時(shí)是不那么友好的話),不要生氣。他并不是在說你是一個(gè)很爛的程序員。這不是他的本意,也不是代碼審查的目 的。他的所作所為是在批評代碼(而不是作者)。代碼審查是針對代碼,不是針對你。不要把代碼審查當(dāng)成互相諷刺的論壇和相互批判的工具。當(dāng)你寫審查注釋時(shí), 努力保持不要粗魯,也不要太苛刻。努力站在作者的立場上看待這些代碼。
總結(jié)一下,很多種錯(cuò)誤都會(huì)使代碼審查變味。上面4種是我經(jīng)歷過或預(yù)料到的,請警惕。我承諾還會(huì)寫一篇描述“代碼審查是來…..”的文章。
如果你想嘗試一種代碼審查工具,請?jiān)L問codebrag.com,這是我們的經(jīng)驗(yàn)和實(shí)踐的成果。
原文鏈接:http://blog.zuchos.com/2013/10/what-code-review-is-not-about.html
譯文鏈接:http://www.oschina.net/news/45315/code-review-is-not-about





















