Otimizar seu espaço de trabalho
Sua equipe tem uma base de código grande e complexa? Você deseja que seu espaço de trabalho contenha somente os arquivos que você precisa para melhorar o desempenho, reduzir o tráfego de rede e para reduzir o espaço em disco necessário em seu computador de desenvolvimento?
Otimizar seus nomes de pastas
Otimizar seu espaço de trabalho usando mapeamentos explícitos, implícitos, encobertos e não recursivos de pastas
Usar espaços de trabalho para isolar e gerenciar o trabalho entre as diferentes ramificações
Otimizar seus nomes de pastas
Se você ainda não usa ramificações, em seu servidor, coloque todo seu código em uma subpasta chamada Main (por exemplo: $/TFVCTeamProject/Main/). Se você fizer isso, estará pronto quando sua equipe crescer o suficiente para exigir ramificações para gerenciar sua base de código. No computador de desenvolvimento, você deve usar um caminho de pasta curto e inteligível que corresponda à estrutura do projeto, como C:\Users\YourName\Source\Workspaces\TFVCTeamProject\Main\SolutionName\.
Mais algumas dicas sobre nomes de pastas eficientes:
Mantenha todos os nomes de pastas, subpastas e arquivos curtos para simplificar seu trabalho e evitar possíveis problemas de caminho longo que possam ocorrer com alguns tipos de projetos de código.
Evite espaço em branco se quiser facilitar a execução de operações de linha de comando.
Otimizar seu espaço de trabalho usando mapeamentos explícitos, implícitos, encobertos e não recursivos de pastas
Se sua base de código for grande, você poderá evitar o desperdício de tempo, largura de banda de rede e espaço em disco local otimizando os mapeamentos de pastas de seu espaço de trabalho.
Ao mapear uma pasta, escolha uma pasta alta o suficiente na árvore de código para obter todos os arquivos necessários para uma compilação local, mas baixa o suficiente para que você não obtenha mais arquivos que o necessário. Você também pode usar algumas ferramentas para criar um espaço de trabalho utilizável com mais simplicidade e rapidez: mapeamentos explícitos, implícitos, encobertos e não recursivos de pastas.
Ao examinar o espaço de trabalho da desenvolvedora fictícia, Raíssa, abaixo, você poderia se perguntar: por que ela simplesmente não mapeou $/SiteApp/ para c:\code\SiteApp\ e acabou logo com isso? Um espaço de trabalho simples como este mapeia implicitamente todas as pastas que ela precisa em $/SiteApp/Main/.
O maior problema dessa abordagem é que ela também forneceria vários arquivos que não são necessários, desperdiçando tempo e recursos. Então, Raíssa cria alguns mapeamentos de pastas personalizados.
Raíssa não desenvolve processos de compilação personalizados, por isso não precisa de $/SiteApp/BuildProcessTemplates. Com o tempo, ela espera que a base de código cresça e também não quer baixar automaticamente cada novo bit de código adicionado a $/SiteApp/Main/. Conforme as equipes que trabalham nas outras pastas alteram esses arquivos, quando Raisa obtém os arquivos mais recentes do servidor, poderá haver longos atrasos enquanto espera as atualizações de arquivos que ela não precisa. Para desenvolver seu código, Raíssa precisa de todos os projetos de código que compreendem a solução FabrikamFiber. Em vez de incluir explicitamente cada projeto de código (por exemplo, $/SiteApp/Main/FabrikamFiber/FabrikamFiber.DAL) ela mapeia $/SiteApp/Main/FabrikamFiber/ e, assim, mapeia implicitamente todas as subpastas que contêm os projetos de código que ela precisa. |
|
Raíssa não precisa dos arquivos em $/SiteApp/Main/FabrikamFiber/3DModels ou em $/SiteApp/Main/FabrikamFiber/Docs, e como eles são mapeados implicitamente por , ela usa dois mapeamentos encobertos para excluir essas pastas do seu espaço de trabalho. |
|
Raíssa e outras pessoas em sua equipe mantêm e, às vezes, aumentam um conjunto de algumas bibliotecas fundamentais. Ela precisa de quase todas as bibliotecas atuais dessa pasta e espera precisar das bibliotecas que sua equipe adicionará lá no futuro e, portanto, mapeia $/SiteApp/Main/libraries/Common. |
|
Raíssa precisa apenas de um segmento pequeno de uma pasta grande, $/SiteApp/Main/libraries/Common/LibraryC, portanto, a mapeia como encoberta e mapeia explicitamente apenas a subpasta necessária: $/SiteApp/Main/libraries/Common/LibraryC/Sub-Library1. |
|
Raíssa precisa de alguns dos arquivos imediatamente dentro de LibraryD, mas não precisa do conteúdo maior de suas subpastas, então, aplica um mapeamento não recursivo a esta pasta: $/SiteApp/Main/libraries/Specialized/LibraryD/*. |
Usar espaços de trabalho para isolar e gerenciar o trabalho entre as diferentes ramificações
Se sua empresa usar ramificações para isolar o risco na base de código, você deverá criar um espaço de trabalho separado para cada ramificação em que trabalhar.
Por exemplo, na Fabrikam Fiber, a base de código e o quadro de funcionários aumentaram. Para isolar o risco entre suas muitas equipes, ela ramificou a base de código. Raíssa continua seu trabalho dentro de sua equipe pequena, mas agora usa alguns espaços de trabalho para gerenciar o trabalho que faz agora em várias ramificações.
Desenvolver recursos Ela altera seu espaço de trabalho padrão para fazer o trabalho na ramificação Extranet, onde participa do desenvolvimento do site de suporte ao cliente. |
|
Integrar e estabilizar Ela cria dois espaços de trabalho novos para trabalhar nas ramificações de Teste e Desenvolvimento, onde ela colabora com outros desenvolvedores e testadores para estabilizar o código durante a integração. |
Raíssa gerencia seu trabalho em três espaços de trabalho, cada um deles mapeia pastas em uma ramificação no servidor com as pastas em seu computador de desenvolvimento.
Dica
Ramificar ou suspender (ou fazer check-in particular) são as maneiras preferenciais de isolar trabalhos diferentes na mesma base de código.No entanto, se nenhuma dessas abordagens atende às suas necessidades, você pode mapear a mesma pasta de servidor em mais de um espaço de trabalho.Na maioria dos casos, não é necessário fazer isso.Se você mapear a mesma pasta de servidor em mais de um espaço de trabalho, lembre-se de que poderá ter alterações pendentes separadas e diferentes para o mesmo arquivo armazenadas em cada espaço de trabalho.