VS11之代碼評審
記得剛成為開發團隊一員的時候,Team Leader總是對我提交的代碼逐行進行檢查,確保沒有重大問題后才容許提交進入代碼庫,在這過程中我的代碼中很多缺陷被發現,有的缺陷非常復雜,并且是正常測試用例所覆蓋不到的,這意味著一旦在生產環境中運行,可能會帶來嚴重的后果。后來才知道這個過程叫做代碼評審,隨著開發經驗的豐富,也經常對其他人的代碼進行評審,這個實踐在開發經歷中一直得以保持。
代碼評審最常用的方式就是文章開頭提到的那樣,由專人進行逐行查看,有的團隊會采用團隊集體評審的方式進行,但也都是基于手工操作的模式,其***的問題就是效率比較低。當我把需要入庫的代碼交由Team Leader評審的時候,不僅需要把整個工程打包并通過FTP傳給他,還要準備一個預評審文檔對本次提交的代碼進行補充說明(注釋經常不能詳細說明一個復雜場景),Team Leader也不會立即對我的評審請求進行反饋,他通常在下班前才會做這件事,并且經常要把我叫到他的電腦旁進行詢問,這個期間我常常在惴惴不安中度過。
在從Visual Studio 2010升級到Visual Studio 11后發現新的TeamExplorer界面中多出了一個Code Review & Requests功能區,這是Visual Studio 11提供的全新的代碼評審功能。
下面我們通過一個簡單的場景來驗證一下這個功能:
步驟1:開發人員Peter已經完成了一個功能點,在把修改過的代碼檢入TFS之前發起代碼評審流程:
Peter需要選擇哪幾個評審人對他的代碼進行評審,也可以根據某種條件由系統缺省指定;輸入本次評審的名稱以及描述等信息。
步驟2:評審人William會收到一封郵件,描述了本次評審的發起人,工作內容鏈接以及其他相關信息
步驟3:評審人William可以直接點擊郵件中的鏈接,系統會自動打開Visual Studio集成開發環境,并定位到Code Review標簽頁,他可以選擇接受(Accept)或者拒絕(Decline)這個代碼審查任務:
步驟4:William點擊Accept后,開始審查代碼
評審人可以點擊Code Review中涉及的文件,看到了文件被修改的具體情況
評審人可以對其中的某一行代碼添加注釋
評審人也可以在對每個代碼變更行添加注釋后,寫一個總的Review注釋
完成評審后,評審人可以向評審發起人提交評審結果
步驟5:評審發起人Peter收到評審更新的郵件通知,看到評審人William的評審意見后進行相應修改,然后再將修改后的結果告知評審人。
Peter收到William添加注釋的Code Review 通知,直接在郵件中打開鏈接進入Visual Studio集成開發環境中看到William的注釋
Peter點擊***個William的注釋,可以看到注釋所對應的代碼行 - 第4行被高亮顯示
Peter點擊第二個William的注釋,可以看到注釋所對應的代碼行–第10行被高亮顯示
Peter根據William的反饋修改相應代碼
Peter修改完成后,回復William的注釋,告知意見被采納
步驟6:評審人William收到評審意見已經被采納的郵件通知,打開Visual Studio集成開發環境確認Peter已經完成了相應修改,批準通過了本次代碼評審工作;最終當所有評審人都批準了本次代碼評審工作,評審工作發起人Peter可以結束本次評審。
William收到Peter回復注釋的郵件,被告之修改意見被采納
William批準通過了本次代碼評審工作
Peter待所有審批人都完成代碼評審后(本例中只有William一個評審人),關閉此次評審請求