天天看點

[轉載]基于TFS實踐靈活-修複Bug和執行代碼評審

本主題闡釋了這些功能,以繼續這一關注虛拟靈活團隊成員的一天的教程。

Peter 忙于編寫一些代碼以完成積壓工作 (backlog) 項任務。但是,他的同僚發現了一個阻礙他們工作的 Bug,他想立即修複此 Bug。 他暫停了手中的工作并修複此 Bug。 他請求 Julia 審查修複情況,并在審查後檢查修複結果并恢複其初始任務。

說明

Peter 使用的“我的工作”和“代碼評審”功能僅在 Visual Studio 進階專業版和 Visual Studio 旗艦版中可用。

主題内容

挂起目前工作并開始處理 Bug

調查 Bug

請求代碼評審

接受并執行(或拒絕)代碼評審

接收并響應代碼評審

修複測試和代碼

簽入修複

繼續處理任務

<a>挂起目前工作</a>

當 Peter 處理積壓工作 (backlog) 項時,Julia 過來讨論困擾她的 Bug。 這是 Peter 所熟悉的區域,是以他建立了修複 Bug 的任務,并将其配置設定給自己。 他決定立即開始修複工作。

在 Peter 開始處理新的 Bug 前,他想確定其目前工作保留在團隊伺服器上的安全位置。 在“我的工作”頁上,Peter 選擇“挂起”進行儲存(在 Team Foundation Server 上):

他完成的所有工作包括對代碼、測試和其他檔案的更改。

打開解決方案、視窗、斷點、監視視窗變量和其他 Visual Studio 狀态的位。

限制已清理工作區,Peter 将新的任務從“可用工作項”拖動到“正在進行的工作”。 他已準備好研究和編寫修複。

你的工作上下文連結到在“我的工作”頁中顯示為“正在進行”的工作項。 通過使用“挂起”和“繼續”,可在不同的任務間快速切換。 打開的解決方案和檔案、代碼更改以及 Visual Studio 布局都會一起切換。

挂起目前工作并開始執行另一項任務

[轉載]基于TFS實踐靈活-修複Bug和執行代碼評審

挂起你的目前任務:

在“正在進行的工作”部分中,選擇“挂起”。

在顯示的框中,指定你要為此挂起的工作集提供的名稱,然後選擇“挂起”按鈕。 預設名稱是目前正在進行的工作項。

開始新任務、Bug 或其他工作項上的工作:

在選擇工作項之前,你可能需要:

通過選擇“可用工作項”下的“建立”,建立新任務或其他工作項;或

在“可用工作項”下選擇不同查詢。

将工作項從“可用工作項”拖動到“正在進行的工作”。 

或者,可以從“挂起的工作”項下拖出之前已挂起的工作項來切換到該工作項。

提示

目前正在進行的工作項将連結到目前代碼更改和 Visual Studio 狀态。 若要允許 Visual Studio 幫助你組織工作,請確定你在從一個任務切換到另一個任務時,相應的項處于“正在進行中”狀态。

<a>調查 Bug</a>

Peter 打開并閱讀 Bug 工作項。 根據測試團隊成員編寫的說明,已付款的發票有時會被錯誤地标記為未付款。 有一個附加到 Bug 工作項的實驗室環境快照。 Peter 可以打開運作測試的虛拟機,檢視錯誤發票和 IntelliTrace 日志。 他跟蹤以下方法存在的錯誤:

[轉載]基于TFS實踐靈活-修複Bug和執行代碼評審
[轉載]基于TFS實踐靈活-修複Bug和執行代碼評審

從 IntelliTrace 日志中,Peter 發現此方法有時會因參數存在極小的差異而傳回 false。 Peter 知道此類舍入誤差在浮點算法中是不可避免的,同時,利用此方法測試浮點數字的相等性也較為不妥。

增加測試以顯示錯誤

在找到 Bug 後,就會顯示單元測試數量不足或測試不符合使用者的實際需求。 是以,在修複 Bug 之前,Peter 添加了一個将示範存在此錯誤的測試。

[轉載]基于TFS實踐靈活-修複Bug和執行代碼評審
[轉載]基于TFS實踐靈活-修複Bug和執行代碼評審

他運作了該測試,結果如預期一樣以失敗告終。

[轉載]基于TFS實踐靈活-修複Bug和執行代碼評審

讓測試通過

Peter 修複代碼:

[轉載]基于TFS實踐靈活-修複Bug和執行代碼評審
[轉載]基于TFS實踐靈活-修複Bug和執行代碼評審

測試現在通過:

[轉載]基于TFS實踐靈活-修複Bug和執行代碼評審

<a>請求代碼評審</a>

Peter 對自己對 Bug 的修複感到滿意,但是尚未簽入其工作。 Peter 的團隊使用代碼評審來提高整體代碼品質并減小因建立更多 Bug 帶來的風險,是以,他使用團隊資料總管從團隊同僚 Julia 和 Adam 那裡請求代碼評審。

[轉載]基于TFS實踐靈活-修複Bug和執行代碼評審

在“團隊資料總管”中的“我的工作”頁上,選擇“請求審查”。“新代碼審閱”頁将出現。

[轉載]基于TFS實踐靈活-修複Bug和執行代碼評審

指定一個或多個審閱者。

[轉載]基于TFS實踐靈活-修複Bug和執行代碼評審

指定評審的名稱。

[轉載]基于TFS實踐靈活-修複Bug和執行代碼評審

指定區域路徑。

[轉載]基于TFS實踐靈活-修複Bug和執行代碼評審

指定審閱者的注釋。

選擇“送出請求”。

審閱者将通過電子郵件接收請求通知。

你還可以請求對挂起的工作、擱置集或變更集進行代碼評審。 若要檢視變更集的清單,請打開“源代碼管理資料總管”,然後選擇“曆史記錄”按鈕。

<a>接受或拒絕代碼評審</a>

Julia 接收并接受代碼評審請求。 她評審代碼,并在檔案和代碼塊級别編寫注釋,然後将代碼評審回報給 Peter。 Adam 太忙,無法評審代碼,是以拒絕了請求。

Julia 在其注釋中指出測試是錯誤的。 允許的誤差應為輸入值的指定部分,而不是常數。 是以,測試應将錯誤值乘以值。

[轉載]基于TFS實踐靈活-修複Bug和執行代碼評審
[轉載]基于TFS實踐靈活-修複Bug和執行代碼評審

請注意,團隊成員會将測試用作讨論焦點。 如果測試正确且足夠,則代碼也會如此。 與代碼不同,每個測試表示單獨的大小寫。 是以,讨論測試通常比讨論代碼更容易。 

執行代碼評審

[轉載]基于TFS實踐靈活-修複Bug和執行代碼評審
[轉載]基于TFS實踐靈活-修複Bug和執行代碼評審

在“團隊資料總管”中的“我的工作”頁上,轉到“我的代碼評審和請求”部分并打開該請求。

在“代碼評審”頁上,你可以:

選擇“接受”或“拒絕”以通知作者你是否将執行評審。

選擇“添加審閱者”以将其他審閱者添加到代碼審閱請求。

檢視對每個已為此工作項更新的檔案的更改。

展開“注釋”以與作者和其他審閱者讨論更改。

選擇“添加總體評價” 

- 或 -

選擇一個代碼塊,然後從快捷菜單中選擇“添加注釋”。

選擇“發送評論”以使你的送出對作者和其他審閱者可見。

選擇“發送和完成”以完成審閱,指出是否需要進一步修改代碼。

<a>響應代碼評審</a>

Peter 接收并響應了來自 Julia 的代碼評審。

代碼的審閱者和作者可以根據需要交換注釋。 作者一旦關閉評審,則評審就将結束。 每次有人參與讨論時,其他參與者都會收到電子郵件通知。

[轉載]基于TFS實踐靈活-修複Bug和執行代碼評審

在“團隊資料總管”中的“我的工作”頁上,轉到“代碼評審和請求”部分,然後輕按兩下該請求。 

你還可以打開請求的快捷菜單并選擇“打開”。

閱讀評論并根據需要進行答複。 若要答複評論,請選擇“答複”,在出現的框中輸入你的評論,然後選擇“确定”。 若要發送你的評論,請選擇“發送評論”。

若要檢視檔案并檢視包含注釋的代碼塊或者要編輯檔案,請轉到“注釋”部分。 在“檔案”子節中,打開檔案的快捷菜單并選擇“比較(隻讀)”或“編輯檔案”。

如果你和其他審閱者已回複完彼此的評論并準備關閉審閱,請單擊“關閉審閱”,然後選擇:

“完成”可表明已完成審閱。

“放棄”可表明正在取消審閱。

<a>修複測試和代碼</a>

閱讀完 Julia 的注釋後,Peter 按照她的建議修複了其單元測試。 測試現已失敗。 這意味着代碼不正确。

[轉載]基于TFS實踐靈活-修複Bug和執行代碼評審
[轉載]基于TFS實踐靈活-修複Bug和執行代碼評審

測試再次通過:

[轉載]基于TFS實踐靈活-修複Bug和執行代碼評審

若要修複此 Bug,請按照代碼開發中的相同做法進行操作。 編寫會失敗的測試,然後設法讓該測試通過。 僅在測試通過時,簽入代碼和測試。

Peter 現在将注意力轉移到發現 Bug 的測試用例上。 在測試用例工作項中清楚說明了 Bug 的重制步驟。 他按照這些步驟操作,并發現已正确列出了發票。

<a>簽入修複</a>

Peter 簽入已修複代碼和單元測試。 Bug 的狀态自動設定為“已解決”,并且“指派給”值将自動重新配置設定給發現 Bug 的測試團隊的成員。 該團隊成員将驗證 Bug 是否已修複并關閉工作項。

[轉載]基于TFS實踐靈活-修複Bug和執行代碼評審

在“團隊資料總管”中,在“我的工作”頁上,選擇“簽入”。

檢視“挂起的更改”頁的内容以確定:

所有相關更改都在“包含的更改”中列出

所有相關工作項都在“相關工作項”中列出。

指定“注釋”以在你的團隊檢視已更改檔案和檔案夾的版本控制曆史記錄時助其了解這些更改的目的。

選擇“簽入”。

<a>繼續處理任務</a>

Peter 繼續處理自己的任務。 他很快就可以繼續工作,因為他的所有代碼更改連同重要的狀态圖位(如打開視窗、斷點及觀看視窗變量)都已還原至工作區。

繼續任務中的工作

[轉載]基于TFS實踐靈活-修複Bug和執行代碼評審

在“團隊資料總管”中的“我的工作”頁上,查找“挂起的和擱置的工作”清單。 打開項的快捷菜單。 你有兩個選擇:

若要繼續挂起的工作并自動挂起工作區中任何挂起的更改,請選擇“繼續”。

若要将挂起的工作與工作區中已挂起的更改合并,請選擇“與“正在進行”部分合并”。

當你繼續工作時

[轉載]基于TFS實踐靈活-修複Bug和執行代碼評審

當你繼續工作時,Visual Studio 會還原:

打開的解決方案

代碼更改

打開的視窗的狀态和位置

斷點

監視視窗變量與表達式

書簽

<a>驗證此 bug 已消失</a>

本文轉自SanMaoSpace部落格園部落格,原文連結:http://www.cnblogs.com/SanMaoSpace/p/5136387.html,如需轉載請自行聯系原作者

繼續閱讀