Optimalizace pracovního prostoru

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

Pokud má váš tým velký a složitý základ kódu, můžete pracovní prostor optimalizovat tak, aby obsahoval jenom soubory, které potřebujete. Optimalizace pracovního prostoru zlepšuje výkon, snižuje síťový provoz a snižuje místo na disku požadovaném na vašem vývojovém počítači.

Poznámka:

Větvení a pozastavení nebo skládání jsou upřednostňovanými způsoby izolace různých pracovních činností proti stejnému základu kódu. Pokud ale žádný z těchto přístupů nevyhovuje vašim potřebám, můžete namapovat stejnou složku serveru ve více než jednom pracovním prostoru. Ve většiněpřípadůch

Pokud namapujete stejnou složku serveru ve více než jednom pracovním prostoru, mějte na paměti, že byste mohli mít samostatné a jiné čekající změny stejného souboru uloženého v každém pracovním prostoru.

Optimalizace názvů složek

Pokud ještě nepoužíváte větve, vložte veškerý kód do podsložky s názvem Main na serveru, například $/TFVCTeamProject/Main/. Pak budete připraveni, až bude váš tým dostatečně velký, aby vyžadoval větve ke správě základu kódu. Na vývojovém počítači byste měli použít krátkou srozumitelnou cestu ke složce, která odpovídá struktuře projektu, například C:\Users\<YourName>\Source\Workspaces\TFVCTeamProject\Main\SolutionName.

Další tipy k efektivním názvům složek:

  • Zachovejte krátké názvy složek, podsložek a souborů, abyste zjednodušili práci a vyhnuli se potenciálním problémům s dlouhou cestou, ke kterým může dojít u některých typů projektů kódu.

  • Vyhněte se prázdným znakům v názvech souborů a složek, abyste usnadnili provádění operací příkazového řádku.

Optimalizace pracovního prostoru

Pokud je základ kódu vašeho týmu velký, můžete se vyhnout plýtvání časem, šířkou pásma sítě a místem na místním disku optimalizací mapování složek pracovního prostoru. Explicitní, implicitní, zahlcené a nerekurzivní mapování složek můžete použít jednodušeji a rychle vytvořit použitelný pracovní prostor.

Když namapujete složku do pracovního prostoru, ujistěte se, že jste ve stromu kódu vybrali složku dostatečně vysokou, abyste získali všechny soubory, které potřebujete k vytvoření místního sestavení, ale dostatečně málo, abyste nedostali více souborů, než potřebujete. V následujícím ukázkovém pracovním prostoru můžete jednoduše namapovat $/SiteApp/ na c:\code\SiteApp\. Jednoduchý pracovní prostor, jako je tento, by implicitně mapoval všechny složky v $/SiteApp/Main/ na váš pracovní prostor, včetně souborů, které potřebujete.

Hlavním problémem tohoto přístupu je, že poskytuje mnoho souborů, které nepotřebujete, a proto ztrácí čas a zdroje. Pokud například nevyvíjíte přizpůsobené procesy sestavení, nepotřebujete $/SiteApp/BuildProcessTemplates/.

V průběhu času očekáváte růst základu kódu vašeho týmu a nechcete automaticky stahovat každý nový bit kódu přidaný do $/SiteApp/Main/. Když týmy pracující v jiných složkách tyto soubory změní, při získávání nejnovějších souborů ze serveru může docházet k dlouhým zpožděním při čekání na aktualizace souborů, které nepotřebujete.

Pracovní prostor můžete optimalizovat tak, aby se vytvořilo šitější mapování složek.

  1. V Průzkumníku správy zdrojového kódu sady Visual Studio vyberte šipku rozevíracího seznamu vedle pracovních prostorů a vyberte Pracovní prostory.

  2. V dialogovém okně Spravovat pracovní prostory vyberte pracovní prostor, který chcete optimalizovat, a pak vyberte Upravit.

  3. V dialogovém okně Upravit pracovní prostor upravte mapování pracovních prostorů.

    Snímek obrazovky znázorňující úpravy pracovního prostoru v dialogovém okně Upravit pracovní prostor

  4. Například k vývoji kódu potřebujete projekty kódu z projektu DinnerNow . Místo explicitního zahrnutí každého projektu kódu do řešení, například $/Fabrikam TFVC/DinnerNow/feature3, můžete mapovat $/Fabrikam TFVC/DinnerNow a implicitně mapovat všechny podsložky obsahující projekty kódu, které potřebujete.

  5. Soubory v sadě $/Fabrikam TFVC/DinnerNow/feature1 nebo $/Fabrikam TFVC/DinnerNow/feature2 nepotřebujete, ale protože jsou implicitně namapované, můžete tyto složky vyloučit ze svého pracovního prostoru pomocí dvou maskovaných mapování.

  6. Váš tým udržuje a někdy rozšiřuje sadu některých základních knihoven. V této složce potřebujete téměř všechny aktuální knihovny a očekáváte, že budete potřebovat knihovny, které tam váš tým přidá v budoucnu, takže mapujete $/Fabrikam TFVC/Main/.

  7. Potřebujete jenom malý segment velké složky, $/Fabrikam TFVC/Main/ClassLibrary, takže ho mapujete jako cloaked a pak explicitně mapujete jenom podsložku, kterou potřebujete, $/Fabrikam TFVC/Main/ClassLibrary1.

  8. Některé soubory potřebujete okamžitě v rámci třídy ClassLibrary1, ale nepotřebujete obsah jejích podsložek, takže použijete nerekurzivní mapování na složku $/Fabrikam TFVC/Main/ClassLibrary1/ .

Složky můžete také mapovat do pracovních prostorů tak, že kliknete pravým tlačítkem myši na nemapovanou větev nebo složku v Průzkumníku správy zdrojového kódu a vyberete Rozšířenou>mapu do místní složky. Nebo vyberte odkaz Nenamapovaný vedle místní složky v horní části Průzkumníka správy zdrojového kódu. V dialogovém okně Mapa vyberte místní složku, na kterou chcete mapování namapovat, a zaškrtněte políčko Rekurzivní , pokud chcete mapování rekurzivní napříč podsložkami nastavit jako rekurzivní.

Následující snímky obrazovky ukazují výsledky použití těchto optimalizací pracovních prostorů ve stromu serveru v Průzkumníku správy zdrojového kódu a místních souborech na vašem počítači.

Snímky obrazovky zobrazující efekty mapování složek

Izolace větví pomocí pracovních prostorů

Pokud vaše organizace používá větve k izolaci rizik v základu kódu, můžete vytvořit samostatný pracovní prostor pro každou větev, ve které pracujete. Pokračujte v práci v rámci malého týmu, ale ke správě práce, kterou děláte ve více větvích, používáte několik pracovních prostorů.

Příklad:

Diagram znázorňující více větví

  • Vývoj funkcí: Výchozí pracovní prostor upravíte tak, aby fungoval ve Extranet větvi, kde se účastníte vývoje webu pro zákazníky.

  • Integrace a stabilizace: Vytvoříte dva nové pracovní prostory, které budou fungovat ve Test větvích a Dev ve kterých spolupracujete s dalšími vývojáři a testery, abyste během integrace stabilizovali kód.

Svou práci spravujete ve třech pracovních prostorech, z nichž každá mapuje složky ve větvi na serveru na složky na vývojovém počítači.

Diagram znázorňující mapování větví na složky

Další kroky

Výběr efektivní strategie větvení