2012-10-19 43 views
14

我試圖將TFS 2012代碼審查工具納入工作流程。TFS 2012中多次簽入的代碼審查

目前的工作流程看起來像這樣:

  1. 開發人員做他的工作,併爲一組簽入
  2. 在開發結束的由部分提交的變更,他會通知審閱,他已完成工作
  3. 審閱者在Attlasian Crucible中創建一個審閱,允許在評論字段中篩選並添加包含問題編號的所有提交。
  4. Crucible將所有提交合併成一個代碼審查任務
  5. 審閱者可以對代碼發表評論,開發人員將收到關於該代碼的通知。

我想在TFS 2012中實現該過程。主要問題是我無法弄清楚如何創建基於多個簽入的評論。創建一個檢查審查請求是不方便的。

有沒有人在上面的場景中使用TFS 2012?或者您是否在單獨的評論請求中查看所有簽到?

回答

5

正如前面指出,籤不符合工作流程微軟意在回顧,並因此不支持。

如果您絕對必須堅持這種做法,您可以通過創建一個專用分支來開發一個功能,直到準備好審查,然後執行合併(這將在父分支上創建未決更改)並請求。此合併的審查,檢查前

最明顯的缺點包括:

  • 管理開銷(創建分支,維護建造的定義,執行合併,地圖和獲得分行開發人員的機器)
  • 變化不但合併到母公司對其他開發人員不可用。但由於該功能甚至沒有準備好進行審查,因此可能尚未準備好使用,因此這不應該成爲問題。
  • 分支上的更改在分支上不可用,直到合併爲止,但是這些更改是微不足道的,並且可以在夜間完成,甚至可以通過腳本自動完成。
+1

但是,在分支機構中處理較大的功能是一個很好的甚至是[推薦](https://msdn.microsoft.com/zh-cn/magazine/gg598921.aspx)的方法,因此對於較大的功能,此工作流程只是一種自然的方式以編碼查看它們 – avitenberg

2

這裏使用「提交」是令人困惑的。 「提交」不適用於TFS源代碼管理。您的意思是開發人員在請求審查之前多次檢查源代碼管理的變更?

在進行檢查之前檢查更改會影響檢查的目的。這個想法是在糟糕的代碼卡在源代碼之前進行審查。因此,請求代碼審查將掛起的更改捆綁到shelveset(不在源代碼控制中:將其視爲臨時分支)。如果您在審覈完成之前簽入,如果審覈人員決定需要編輯代碼,您會做什麼?回滾?創建不與工作項目關聯的變更集?這是一個痛苦。

該過程應該是:

1)選擇工作項目。

2)做工。

3)執行某種構建,並運行任何自動化測試。這是針對本地工作區完成的。

4)請求審查。注意代碼沒有被檢查到源代碼控制。

5)審閱者執行審閱,發回評論。

6)執行審查所需的任何操作。

7)從源代碼管理中獲取最新信息。

8)構建/測試

9)檢查是否所有上述步驟成功完成。

整個想法是隻將工作,審查代碼放在源代碼中。

編輯 當然,如果您想堅持您的工作流程,您始終可以將每次簽到與代碼審查工作項目相關聯。您需要在第一次簽到時創建審閱請求,然後將每個以下籤入與通過請求創建的同一代碼審閱工作項目相關聯。

編輯2.0 工作流以實現:

1)創建代碼評審請求。您需要制定一些政策,讓每個人都知道此評論尚未準備就緒。這將創建一個代碼審查工作項目。記下它的編號。

2)當您簽入與先前創建的代碼審查相關聯的代碼時,請將該簽入與代碼審閱工作項目相關聯。這可以在掛起的更改頁面上完成,選擇將工作項目與ID相關聯的選項。

3)一旦所有必需的變更集與審查相關聯,您就需要一種方式通知所有人審查已準備就緒。

或者,您可以簡單地將更改集編號作爲一般評論添加到代碼審閱請求中,以獲得「更鬆散」的耦合。

不管你採用哪條路線,這聽起來像你正在嘗試使用該工具的東西,它不打算用於。我認爲這可以做到,但這需要一定的實驗。祝你好運!

+12

代碼審查之前和之後簽入是一個信任的問題,它真的取決於你的團隊。如果你經常扔掉整個簽到,因爲他們是垃圾,那麼你可能還有其他問題。架構評論我同意應該在之前完成,但是它們應該在無論如何寫很多代碼之前完成。 – Betty

+0

即使基於代碼審閱需要單個編輯,您最終得到的變更集也不易與工作項相關聯,並且在源代碼管理中不易解釋。但是,我是一個源代碼控制納粹:只有生產有價值的代碼(或至少,你認爲是生產值得的代碼)應該永遠在我的書中檢查。 –

+0

謝謝你的答案,夥計們。 aclear16,你能否詳細說明如何將每次簽入與代碼審查工作相關聯?有沒有關於如何做的說明? – Sergei

3

據我所知,在TFS2012中不可能。從這個來源link採取

骯髒的伎倆:在其最新版本

  • 在清潔的工作區,所有的文件,看看你想單獨審查每個單獨的文件(這需要 服務器的工作空間) 。如果您想要在檢查 中檢出要包含的所有文件,請檢閱。所有 已簽出的文件(無論對它們進行任何更改)都會創建一條審閱請求
  • 撤銷本地工作區中的所有掛起更改。