共用方式為


最佳化工作區

您的小組是否有大型且複雜的程式碼基底? 您希望工作區只包含需要的檔案,以改善效能、降低網路流量和減少開發電腦上所需的磁碟空間?

  • 最佳化您的資料夾名稱

  • 使用明確、隱含、隱匿和非遞迴資料夾對應,最佳化您的工作區

  • 使用工作區隔離及管理不同分支中的工作

最佳化您的資料夾名稱

如果您未在伺服器上使用分支,則應該將所有的程式碼放在 Main 子資料夾 (例如:$/TFVCTeamProject/Main/) 中。 如果是,則當您的小組成長大到需要分支以管理程式碼基底時,您已準備就緒。 在開發電腦上,應使用符合專案結構之簡短且易於了解的資料夾路徑 (例如 C:\Users\YourName\Source\Workspaces\TFVCTeamProject\Main\SolutionName\)。

更多關於有效資料夾名稱的提示:

  • 所有資料夾、子資料夾和檔案名稱保持簡短,以簡化您的工作並避免可能在某些程式碼專案類型中發生的長路徑問題。

  • 如果您要讓命令列作業更容易執行,請避免空白字元。

使用明確、隱含、隱匿和非遞迴資料夾對應,最佳化您的工作區

如果您的程式碼基底很大,您可以藉由最佳化工作區資料夾對應,避免浪費時間、網路頻寬和本機磁碟空間。

當您對應資料夾時,請確認您在程式碼樹狀結構中選擇的資料夾夠高,可以取得建立本機組建所需的所有檔案,但是也夠低,而不會取得您不需要的檔案。 您也可以使用某些工具,更簡單迅速地建立可用的工作區:明確隱含隱匿非遞迴資料夾對應。

當您查看下面虛擬開發人員 Raisa 的工作區時,您可能會想知道:她為何不直接將 $/SiteApp/ 對應至 c:\code\SiteApp\ 就好? 這類的簡單工作區會隱含對應其在 $/SiteApp/Main/ 中需要的所有資料夾。

這個方法的主要問題是,它也會提供大量不需要的檔案,而浪費時間和資源。 因此 Raisa 建立了一些量身訂做的資料夾對應。

Folders mapped by an optimized workspaceFolders mapped to to optimize a workspace

Step 1

Raisa 並未開發自訂的建置流程,因此不需要 $/SiteApp/BuildProcessTemplates。 她預期經過一段時間後程式碼基底會成長,而她也不想要自動下載每個加入至 $/SiteApp/Main/ 的新程式碼。 由於在這些其他資料夾中工作的小組會變更這些檔案,當 Raisa 從伺服器取得最新檔案時,她可能會遇到冗長延遲,等待更新她不需要的檔案。

若要開發自己的程式碼,Raisa 需要所有組成 FabrikamFiber 方案的程式碼專案。 她並未明確包含每個程式碼專案 (例如 $/SiteApp/Main/FabrikamFiber/FabrikamFiber.DAL),而是對應 $/SiteApp/Main/FabrikamFiber/,因而隱含對應了包含所需程式碼專案的所有子資料夾。

Step 2

Raisa 不需要 $/SiteApp/Main/FabrikamFiber/3DModels 或 $/SiteApp/Main/FabrikamFiber/Docs 中的檔案,因為這些檔案由 Step 1 隱含對應,她使用兩個隱匿對應從其工作區排除這些資料夾。

Step 3

Raisa 和小組中的其他人負責維護一組基本程式庫,有時也會將它擴大。 她需要這個資料夾中的幾乎所有目前程式庫,並且預期會需要她的小組在未來加入此處的程式庫,所以她對應 $/SiteApp/Main/libraries/Common。

Step 4

Raisa 只需要大型資料夾 $/SiteApp/Main/libraries/Common/LibraryC 的一小區段,因此,她將它對應為隱匿,然後只明確對應需要的子資料夾:$/SiteApp/Main/libraries/Common/LibraryC/Sub-Library1。

Step 5

Raisa 立即需要 LibraryD 內的某些檔案,不過不需要其子資料夾的大量內容,因此她套用非遞迴對應至這個資料夾:$/SiteApp/Main/libraries/Specialized/LibraryD/*。

使用工作區隔離及管理不同分支中的工作

如果您的公司在程式碼基底中使用分支以隔離風險,則您應該為您工作的每個分支建立不同的工作區。

例如,在 Fabrikam Fiber,程式碼基底和人員已經成長。 為隔離許多小組間的風險,所以分支它們的程式碼基底。 Raisa 繼續她在小組內的工作,不過現在她會使用一些工作區管理目前在多個分支中進行的工作。

Branches where Julia does her work

Step 1

開發功能:她修改其預設工作區以完成在外部網路分支的工作,並參與開發這個分支的客戶對向網站。

Step 2

整合與穩定:她建立兩個新的工作區以完成 Test 和 Dev 兩個分支中的工作,在整合過程中她會與其他開發人員和測試人員共同作業以穩定程式碼。

Raisa 在三個工作區中管理其工作,每一個工作區都會將伺服器上分支中的資料夾對應至她的開發電腦上的資料夾。

Mappings from server folders to client folders

注意事項注意事項

分支暫停 (或擱置) 是針對相同程式碼基底隔離不同工作投入時間的較好方式。不過,如果兩個方法都不符合您的需求,您可以在多個工作區對應相同的伺服器資料夾。在大部分情況下,您應該不需這麼做。如果您在一個以上的工作區對應相同的伺服器資料夾,請記得您可能對每個工作區儲存的相同檔案進行個別且不同的暫止變更。