Optimiser votre espace de travail

Votre équipe a-t-elle un code base important et complexe ? Voulez-vous que votre espace de travail contienne uniquement les fichiers qui vous permettent d'améliorer les performances, de réduire le trafic réseau et de réduire l'espace disque requis sur votre ordinateur de développement ?

  • Optimiser vos noms de dossier

  • Optimiser votre espace de travail à l'aide de mappages explicites, implicites, masqués et de répertoires non récurrents

  • Utiliser les espaces de travail pour isoler et gérer le travail parmi les différentes branches

Optimiser vos noms de dossier

Si vous n'utilisez pas encore de branches sur votre serveur, placez tout votre code dans un sous-dossier appelé Main (par exemple : $/TFVCTeamProject/Main/). Dans ce cas, vous serez prêt lorsque votre équipe sera devenue suffisamment grande pour exiger des branches permettant de gérer votre code base. Sur votre ordinateur de développement, utilisez un chemin d'accès de dossier court et compréhensible qui correspond à la structure de votre projet, par exemple C:\Users\YourName\Source\Workspaces\TFVCTeamProject\Main\SolutionName\.

Quelques conseils supplémentaires sur les noms de dossiers efficaces :

  • Conservez tous les dossiers, sous-dossiers et noms de fichiers courts pour simplifier votre travail et pour éviter des problèmes potentiels de long chemin d'accès qui peuvent se produire avec certains types de projets de code.

  • Évitez l'espace blanc si vous souhaitez faciliter l'exécution des opérations en ligne de commande.

Optimiser votre espace de travail à l'aide de mappages explicites, implicites, masqués et de répertoires non récurrents

Si votre code base est important, vous pouvez éviter de perdre du temps, de la bande passante réseau et de l'espace disque local, en optimisant les mappages de dossiers de l'espace de travail.

Lorsque vous mappez un dossier, veillez à sélectionner un dossier situé à un niveau assez élevé dans l'arborescence du code afin d'obtenir tous les fichiers vous permettant de créer une build locale. Toutefois, évitez de choisir un niveau trop élevé pour ne pas obtenir plus de fichiers que nécessaire. Vous pouvez également utiliser des outils pour créer plus simplement et plus rapidement un espace de travail utilisable : des mappages de dossiers explicites, implicites, masqués et non récurrents.

Lorsque vous examinez l'espace de travail du développeur fictif, Raisa, ci-dessous, vous pouvez vous demander : pourquoi n'a t-elle pas simplement mappé $/SiteApp/ à c:\code\SiteApp\ ? Un espace de travail simple comme celui-ci mappe implicitement tous les dossiers dont il a besoin dans $/SiteApp/Main/.

Le principal problème avec cette approche est qu'elle lui fournirait également de nombreux fichiers dont elle n'a pas besoin, et donc lui ferait perdre du temps et des ressources. Par conséquent, Raisa crée des mappages de dossiers adaptés.

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

Step 1

Comme Raisa ne développe pas de processus de génération personnalisés, elle n'a pas besoin de $/SiteApp/BuildProcessTemplates. Avec le temps, elle prévoit que le code base se développe et elle ne souhaite pas télécharger automatiquement chaque nouveau bit de code ajouté à $/SiteApp/Main/. Lorsque les équipes qui travaillent dans ces autres dossiers modifient ces fichiers, lorsque Raisa obtient les derniers fichiers du serveur, elle peut subir un retard en attendant des mises à jour de fichiers dont elle n'a pas besoin.

Pour développer son code, Raisa a besoin de tous les projets de code qui impliquent la solution FabrikamFiber. Plutôt qu'inclure explicitement chaque projet de code (par exemple, $/SiteApp/Main/FabrikamFiber/FabrikamFiber.DAL), elle mappe plutôt $/SiteApp/Main/FabrikamFiber/, et ainsi elle mappe implicitement tous les sous-dossiers qui contiennent les projets de code dont elle a besoin.

Step 2

Raisa n'a pas besoin des fichiers présents dans $/SiteApp/Main/FabrikamFiber/3DModels ou $/SiteApp/Main/FabrikamFiber/Docs, et parce qu'ils sont implicitement mappés parStep 1, elle utilise deux mappages masqués pour exclure ces dossiers de son espace de travail.

Step 3

Raisa et d'autres membres de l'équipe mettent à jour et augmentent parfois un ensemble de certaines bibliothèques fondamentales. Comme elle a besoin de presque toutes les bibliothèques présentes dans ce dossier et attend d'avoir besoin de celles que l'équipe ajoutera par la suite, elle mappe $/SiteApp/Main/libraries/Common.

Step 4

Raisa a uniquement besoin d'un petit segment d'un grand dossier, $/SiteApp/Main/libraries/Common/LibraryC, elle le mappe comme étant masqué et mappe ensuite explicitement le seul sous-dossier dont elle a besoin : $/SiteApp/Main/libraries/Common/LibraryC/Sub-Library1.

Step 5

Raisa requiert certains fichiers immédiatement dans LibraryD, mais comme elle n'a pas besoin d'une grande capacité de contenu dans ses sous-dossiers, elle applique un mappage non récurrent à ce dossier : $/SiteApp/Main/libraries/Specialized/LibraryD/*.

Utiliser les espaces de travail pour isoler et gérer le travail parmi les différentes branches

Si votre société utilise des branches pour isoler les risques dans votre code base, vous devez créer un espace de travail distinct pour chaque branche sur laquelle vous travaillez.

Par exemple, chez Fabrikam Fiber, le code base et le personnel se sont développés. Pour isoler les risques entre leurs nombreuses équipes, ils ont connecté leur code base. Raisa continue son travail dans sa petite équipe, mais maintenant elle utilise quelques espaces de travail pour gérer le travail qu'elle effectue désormais sur plusieurs branches.

Branches where Julia does her work

Step 1

Développer les fonctionnalités Elle modifie son espace de travail par défaut pour effectuer le travail dans la branche extranet, où elle participe au développement du site Web client de cette branche.

Step 2

Intégrer et stabiliser Elle crée les deux nouveaux espaces de travail pour effectuer le travail dans les branches Test et Dev, où elle collabore avec d'autres développeurs et testeurs pour stabiliser le code pendant l'intégration.

Raisa gère son travail dans les trois espaces de travail, dont chacun mappe les dossiers d'une branche sur le serveur aux dossiers de son ordinateur de développement.

Mappings from server folders to client folders

Notes

La création de branche ou l'interruption (ou la réservation) sont les méthodes privilégiées pour isoler les différents efforts de travail par rapport au code base.Toutefois, si aucune de ces approches ne répond à vos besoins, vous pouvez mapper le même dossier de serveur dans plusieurs espaces de travail.Dans la plupart des cas, vous n'avez pas besoin de faire cela.Si vous mappez le même dossier de serveur dans plusieurs espaces de travail, souvenez-vous que vous pouvez avoir des modifications en attente distinctes et différentes du même fichier stocké dans chaque espace de travail.