為什么每個團隊都需要 Code Review?

jopen 9年前發布 | 10K 次閱讀 團隊



不少開發團隊和創業公司都在糾結是否要執行 code review,既希望改進代碼質量,又擔心帶來的負擔會拖慢項目進度。實時上,在軟件開發中質量和效率往往并不是二選其一的關系。能產出高質量代碼的團隊通常效率也非常高。

在我作為工程師的職業經歷中,自動化測試和 code review 可說是能同時提 高代碼質量和開發效率的兩個最有效的手段。所謂 code review,和學術界的 peer review 類似。Peer review 是由同事或同行對一位作者的作品進行查閱并提出建議和問題,只有當所有提出的問題都得到滿意的答案后,作品才能發表。對于 code review 來說,作品就是代碼,發表就是把代碼 commit 到官方代碼庫。

在 Code Complete 這本書中講述了兩個很有說服力的案例。在一項對同一個團隊開發的很多個程序進行對比的研究中,沒有經過 review 的程序平均每 100 行有 4.5 個錯誤,而經過 review 的程序平均每 100 行只有 0.82 個錯誤,也就是說 80% 的錯誤在 review 中被修正了。AT & T 的一個 200 多人的部門在開始執行 code review 后,開發效率提高了 14%,而錯誤減少了 90% 左右。

除了減少缺陷,避免在診斷錯誤上浪費時間,review 的過程還可以通過相互的督促保證代碼有好的可讀性、文檔、風格,并同時檢查測試覆蓋率等開發過程中的規范,從而提高團隊的協作效率。對于所有復雜的事情來說,總是越早發現問題,解決問題的成本越低。

對于經驗不足或者剛開始一份新工作的人來說,通過 code review 可以得到更資深的人幫助,更快熟悉現有的規范和架構,在新的環境和團隊中快速提升。

對 于資深的工程師來說,讓其他同事 review 代碼,有利于在團隊中傳播經驗、知識和好的實踐。身邊的同事水平提高會讓自己的工作也更高效。并且誰都有需要休假的時候,無論是公司還是個人都不希望有太 多工作因此而停滯,如果有平時就熟悉自己工作的同事,這個問題就很好解決。

像很多其他事情一樣,code review 最難的就是邁出第一步一旦開始,花在 review 過程的每一分鐘都會很快被成倍地賺回來。如果你不在一個可以一下改變團隊流程的位置上,那么至少可以和認同這件事的少數同事先開始實踐,當價值開始體現的時候,相信其他人會樂于效仿。

來自:http://zhuanlan.zhihu.com/leancloud/19962430

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!