Code Review的7個最佳實踐

cceh1680 7年前發布 | 5K 次閱讀 Code Review

成為一名好的代碼審核人員并不是一件容易的事情。4個月前,我突然意識到我需要提高自己的代碼審核能力。以下就是一些我覺得非常實用的技巧。

1. 在團隊中明確審核目標

你應該花時間和團隊中的每一個人談談你對代碼審核的目標,對代碼的要求。假如你在進行代碼審核的時候所追求的是代碼樣式的連貫性,而團隊中的其他人以為你是在尋找bug,那么你們之間將很難良好的進行合作。只有所有人都明確了目標之后,你們才能讓工作更有效率。

2. 運行應用,嘗試使用各種功能

閱讀代碼并不是與應用進行互動的好方法。如果你想要通過閱讀代碼來找bug,那么你必須要有多年的經驗。真正好的代碼審核,應該是讓代碼運行起來。在運行應用的時候,你很有可能找到一些代碼作者忽略的東西。

3. 方法調用等級可視化

我經常發現自己會忽略一些細節,因此我需要找到一種方式來強迫自己更深入的理解代碼。有的時候,我會通過涂鴉來畫出方法與方法、對象與對象之間的關系,例如哪種方法使用了其他的哪個方法,我發現這種可視化的理解方式非常有效。

4. 收到請求后立刻進行審核

只要看到團隊成員發來的審核請求,我都會立刻開始審核。你的同事將會非常高興,而他們的配合也能讓你成長的更快

有的時候你可能很難立刻完成審核工作,例如改動很多的情況下。如果你發現自己無法快速完成審核,你可以使用下面兩個小技巧:

  • 設定時間,例如半個小時。在剛開始的時候,你應該嘗試去理解代碼中的變更,然后寫下問題。半個小時之后,如果你覺得這些代碼可以通過,那就通過。如果你覺得還有問題,那就給代碼作者寫一封郵件,把你的想法和問題寫出來。

  • 在你的電腦上安裝兩個獨立的repo,一個用來儲存你自己做出的變更,另一個用來儲存你正在審核的代碼。這樣一來,編譯其他同事的代碼的時候,就不會影響你自己的代碼了。

5. 閱讀代碼之前,先想想你自己會對原代碼做出什么樣的變更

先閱讀功能描述,然后做一個列表,上面寫下你希望對哪些文件做出變更。然后再閱讀代碼作者提交的文件,看看和你預想的是否一致。如果他們做的和你想的不一樣,試著找到原因。

6. 在真實開發環境中審核變更

大多數情況下,Phabricator和GitHub的作用,是讓你看到文本之間的區別。而AppCode、IntelliJ和RubyMine這樣的編輯器,才能讓你看到真正的代碼。你應該在自己的電腦上用這些編輯器閱讀代碼,這樣你能看到編譯錯誤、警告和測試失敗等信息。

除此之外,你還應該對整個文件進行審核,而不僅僅是存在變更的那一行。這樣做能讓你確保和變更相關的所有代碼都不會受到影響。

7. 除非你能找到bug,否則不要拒絕批準代碼變更

當你要求代碼作者進行變更的時候,你應該相信他能夠勝任這個工作。一些簡單的變更,例如對變量進行重命名、或是提取重復方法等,這樣的變更你應該直接批準通過。

如果你因為樣式不統一等小問題讓代碼作者等的時間太長,那么從長遠來看,代碼的質量將會降低,因為代碼作者將不愿意對小問題進行修改和變更,從而讓代碼的可讀性降低。

如果你真的覺得某個作者的代碼不足以獲得批準通過,那你就應該直接告訴對方,然后找一個合適的人來對代碼進行調整。另外你還需要仔細,如果你只是忘記了通過某個作者的變更,也許你覺得不是什么大事,但是在代碼作者看來,他不知道你僅僅是忘記了點擊按鈕,他們有可能覺得自己的代碼有錯誤,甚至覺得你不尊重他的工作。

 

 

來自: 灣區日報

 

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