Optimieren des Arbeitsbereichs

Verfügt das Team über eine große und komplexe Codebasis? Soll der Arbeitsbereich nur die erforderlichen Dateien enthalten, um die Leistung zu verbessern, den Netzwerkdatenverkehr zu reduzieren und den auf dem Entwicklungscomputer benötigten Festplattenspeicher zu verringern?

  • Ordnernamen optimieren

  • Den Arbeitsbereich unter Verwendung expliziter, impliziter, verdeckter und nicht rekursiver Ordnerzuordnungen optimieren

  • Arbeitsbereiche verwenden, um Arbeit in anderen Verzweigungen zu isolieren und zu verwalten

Ordnernamen optimieren

Wenn Sie noch keine Verzweigungen verwenden, platzieren Sie den gesamten Code auf Ihrem Server in einen Unterordner namens "Main" (z. B. $/TFVCTeamProject/Main/). Sie sind dann bestens vorbereitet, wenn Ihr Team so groß wird, dass Sie für die Verwaltung der Codebasis Verzweigungen benötigen. Auf dem Entwicklungscomputer sollten Sie einen kurzen, verständlichen Ordnerpfad verwenden, der der Projektstruktur entspricht, z. B. C:\Users\YourName\Source\Workspaces\TFVCTeamProject\Main\SolutionName\.

Weitere Tipps für effektive Ordnernamen:

  • Verwenden Sie kurze Namen für alle Ordner, Unterordner und Dateien. So vereinfachen Sie die Arbeit und vermeiden Probleme mit langen Pfadnamen, die bei bestimmten Arten von Codeprojekten auftreten können.

  • Vermeiden Sie die Verwendung von Leerzeichen, damit Befehlszeilenvorgänge einfacher ausführbar sind.

Den Arbeitsbereich unter Verwendung expliziter, impliziter, verdeckter und nicht rekursiver Ordnerzuordnungen optimieren

Bei einer großen Codebasis können Sie Zeit, Netzwerkbandbreite und lokalen Speicherplatz sparen, indem Sie die Zuordnungen der Arbeitsbereichsordner optimieren.

Wählen Sie beim Zuordnen einen Ordner, der sich in der Codestruktur an einer Position befindet, die hoch genug ist, dass Sie alle Dateien abrufen können, um einen lokalen Build zu erstellen, gleichzeitig aber so niedrig ist, dass Sie nicht mehr Dateien als benötigt erhalten. Ferner gibt es einige Tools, mit denen Sie einfach und schnell einen verwendbaren Arbeitsbereich erstellen können: explizite, implizite, verdeckte und nicht rekursive Ordnerzuordnungen.

Wenn Sie sich nachstehend den Arbeitsbereich der fiktiven Entwicklerin Raisa ansehen, fragen Sie sich vielleicht, warum sie nicht einfach $/SiteApp/ zu c:\code\SiteApp\ zugeordnet hat. In einem einfachen Arbeitsbereich wie diesem würden implizit alle benötigten Ordner zu $/SiteApp/Main/ zugeordnet.

Das Hauptproblem bei diesem Ansatz ist, dass sie mehr Dateien als nötig erhalten würde und damit unnötig viel Zeit und viele Ressourcen aufwenden müsste. Daher erstellt Raisa einige benutzerdefinierte Ordnerzuordnungen.

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

Step 1

Raisa entwickelt keine benutzerdefinierten Buildprozesse. Daher benötigt sie den Ordner $/SiteApp/BuildProcessTemplates nicht. Sie erwartet, dass die Codebasis mit der Zeit anwächst, und sie möchte nicht jedes neue Bit des Codes, das sie zu $/SiteApp/Main/ hinzufügt, automatisch herunterladen. Da die mit diesen anderen Ordnern beschäftigten Teams die Dateien ändern, kann es passieren, dass Raisa beim Abrufen von aktualisierten Dateien vom Server längere Wartezeiten für Updates von Dateien in Kauf nehmen muss, die sie gar nicht benötigt.

Für die Entwicklung des Codes benötigt Raisa alle Codeprojekte, die die FabrikamFiber-Projektmappe enthalten. Anstatt jedes Codeprojekt explizit hinzuzufügen (z. B $/SiteApp/Main/FabrikamFiber/FabrikamFiber.DAL), erstellt sie eine Zuordnung zu $/SiteApp/Main/FabrikamFiber/ zu. Damit erstellt sie eine implizite Zuordnung zu allen Unterordnern, die die benötigten Codeprojekte enthalten.

Step 2

Die Dateien in $/SiteApp/Main/FabrikamFiber/3DModels oder $/SiteApp/Main/FabrikamFiber/Docs benötigt Raisa nicht. Da sie implizit von Step 1 zugeordnet wurden, verwendet sie zwei verdeckte Zuordnungen, um diese Ordner aus ihrem Arbeitsbereich auszuschließen.

Step 3

Raisa und andere Teammitglieder verwalten und erweitern bisweilen eine Reihe grundlegender Bibliotheken. Sie benötigt nahezu alle aktuellen Bibliotheken in diesem Ordner und erwartet, dass sie auch die Bibliotheken benötigt, die ihr Team dem Ordner künftig hinzufügen wird. Also erstellt sie eine Zuordnung zu $/SiteApp/Main/libraries/Common .

Step 4

Raisa benötigt einen größeren Ordner nur zum Teil ($/SiteApp/Main/libraries/Common/LibraryC). Daher ordnet sie diesen als verdeckt zu und ordnet dann explizit nur den erforderlichen Unterordner zu: $/SiteApp/Main/libraries/Common/LibraryC/Sub-Library1.

Step 5

Raisa benötigt einige der Dateien direkt unterhalb von LibraryD, nicht aber den gesamten Inhalt der Unterordner. Sie wendet also auf diesen Ordner eine nicht rekursive Zuordnung an: $/SiteApp/Main/libraries/Specialized/LibraryD/*.

Arbeitsbereiche verwenden, um Arbeit in anderen Verzweigungen zu isolieren und zu verwalten

Wenn das Unternehmen Verzweigungen zur Isolierung von Risiken in der Codebasis verwendet, sollten Sie einen separaten Arbeitsbereich für jede Verzweigung erstellen, an der Sie arbeiten.

Bei Fabrikam Fiber ist die Codebasis angewachsen und es gab es einen Mitarbeiterzuwachs. Zur Isolierung der Risiken, die aufgrund der großen Anzahl von Teams auftreten können, wurden Codebasisverzweigungen eingerichtet. Raisa setzt ihre Arbeit in ihren kleinen Team fort. Von jetzt an verwendet sie aber mehrere Arbeitsbereiche für die Verwaltung ihrer Arbeit in mehreren Verzweigungen.

Branches where Julia does her work

Step 1

Funktionen entwickeln Sie ändert ihren Standardarbeitsbereich in die Verzweigung "Extranet". Hier ist sie an der Entwicklung der für Kunden zugänglichen Website beteiligt, die sich in dieser Verzweigung befindet.

Step 2

Integrieren und stabilisieren Sie erstellt zwei neue Arbeitsbereiche, um in den Verzweigungen "Test" und "Dev" arbeiten zu können. Hier arbeitet sie mit anderen Entwicklern und Testern zusammen an der Stabilisierung des Codes während der Integration.

Raisa verwaltet ihre Arbeit in drei Arbeitsbereichen. In jedem Bereich befinden sich Zuordnungen zwischen Ordnern einer Verzweigung auf dem Server und Ordnern auf dem Entwicklercomputer.

Mappings from server folders to client folders

Hinweis

Die bevorzugten Methoden, um unterschiedlichen Arbeitsaufwand für dieselbe Codebasis zu isolieren, sind Verzweigen oder Anhalten (oder Ablegen).Sollte keiner dieser Ansätze Ihren Anforderungen entsprechen, können Sie einen Serverordner auch mehreren Arbeitsbereichen zuordnen.In den meisten Fällen dürfte dies allerdings nicht erforderlich sein.Wenn Sie jedoch einen Serverordner mehreren Arbeitsbereichen zuordnen, beachten Sie, dass jeder Arbeitsbereich ausstehende Änderungen einer Datei enthalten kann. Diese können sich voneinander unterscheiden.