优化工作区

团队是否有大量复杂的基本代码? 是否希望您的工作区仅包含需要提高性能、减少网络通信量以及减少开发计算机上所需的磁盘空间的文件?

  • 优化您的文件夹名称

  • 使用显式的、隐式的、掩蔽的和非递归的文件夹映射来优化您的工作区域

  • 使用工作区来隔离和管理各分支的工作

优化您的文件夹名称

如果你在服务器上未使用分支,则应将所有代码放在一个名为 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 纤程中,基本代码和工作人员已增加。 若要隔离他们的多个团队中的风险,则需要已对基本代码进行分支。 Raisa 继续在她的小团队中工作,但现在她使用几个工作区就可以管理她现在在多个分支下进行的工作。

Branches where Julia does her work

Step 1

开发功能 她修改其默认工作区域以完成在 Extranet 分支中的工作,在此分支内,她参与了面向客户的网站的开发。

Step 2

集成和稳定 她创建两个新的工作区域来完成测试和 Dev 分支中的工作,并且在这期间,她与其他开发人员和测试人员协作以便在集成过程中使代码保持稳定。

Raisa 在三个工作区中管理她的工作,其中每个工作区用她的开发计算机上的文件夹映射服务器上分支中的文件夹。

Mappings from server folders to client folders

备注

创建分支挂起(或搁置)是隔离相同基本代码的不同工作量的首选方式。但是,如果这些方法都不能满足您的需求,则可以在多个工作区中映射相同的服务器文件夹。在大多数情况下,您不需要这样做。如果在多个工作区中映射同一个服务器文件夹,请记住您可以对每个工作区中存储的同一文件分别进行不同的挂起的更改。