Share via


Ottimizzare le aree di lavoro

Si desidera ottimizzare l'area di lavoro per lavorare in modo più efficace ed efficiente nel codebase?Se è così, sei nel posto giusto.

Scegliere l'argomento con cui si desidera procedere

  • Ottimizzare i nomi della cartelle

  • Ottimizzare l'area di lavoro utilizzando i mapping espliciti, impliciti, mascherati e non ricorsivi

  • Utilizzare le aree di lavoro per isolare e gestire il lavoro tra i vari branch

Ottimizzare i nomi della cartelle

Quando si creano progetti di codice in Visual Studio, per impostazione predefinita, vengono inseriti nella cartella dell'utente (ad esempio: c:\users\myname\documents\visual studio 2012\Projects\SolutionName.Ma nella maggior parte dei casi, è preferibile utilizzare un breve e comprensibile percorso della cartella che corrisponde alla struttura del progetto come c:\code\siteapp\Main\SolutionName\.

Alcuni suggerimenti sui nomi effettivi delle cartelle:

  • Mantenere i nomi brevi di qualsiasi cartella, sottocartella e file per semplificare il lavoro e per evitare potenziali problemi di percorsi lunghi che possono verificarsi con alcuni tipi di progetti di codice.

  • Evitare gli spazi vuoti se si desidera che le operazioni da riga di comando siano più semplici da eseguire.

  • Se non si utilizzano i branch, inserire tutto il codice in una sottocartella denominata Main (ad esempio: $/SiteApp/Main/).Se si fa così, sarà possibile adattarsi quando il team diventerà sufficientemente grande per richiedere i branch per gestire il codebase.

Ottimizzare l'area di lavoro utilizzando i mapping espliciti, impliciti, mascherati e non ricorsivi

Se il codebase è di grandi dimensioni, è possibile evitare di sprecare tempo, larghezza di banda di rete e spazio sul disco locale ottimizzando i mapping della cartella dell'area di lavoro.

Quando si esegue il mapping di una cartella, verificare di aver scelto una cartella a un livello elevato della struttura del codice in modo da recuperare tutti i file necessari per creare una build locale, ma non al punto da recuperare file superflui.È inoltre possibile utilizzare alcuni strumenti per creare in modo più semplice e veloce un'area di lavoro utilizzabile: mapping esplicito, implicito, mascherato e non ricorsivo.

Quando si esamina l'area di lavoro di Julia riportata di seguito, è lecito domandarsi: perché non è stato eseguito il mapping semplicemente di $/SiteApp/ a c:\code\SiteApp\ e non è stata eseguita con esso?Un'area di lavoro semplice come questa dovrebbe implicitamente mappare tutte le cartelle necessarie in $/SiteApp/Main/.

Il problema principale di questo approccio è che fornisce molti file che non sono necessari e quindi si sprecano tempo e risorse.Pertanto Julia crea alcuni mapping appropriati della cartella.

Cartelle mappate da un'area di lavoro ottimizzataCartelle mappate per ottimizzare un'area di lavoro

Passaggio 1

Julia non sviluppa processi di compilazione personalizzati quindi non necessita di $/SiteApp/BuildProcessTemplates.Nel tempo lei si aspetta che il codebase cresca e lei non desidera scaricare automaticamente ogni nuovo frammento di codice aggiunto a $/SiteApp/Main/.Quando il team che opera in tali cartelle modifica quei file, Julia ottiene gli ultimi file dal server e questo potrebbe provocare lunghi tempi di attesa per gli aggiornamenti di file che non le interessano.

Per sviluppare il suo codice, Julia necessita di tutti i progetti di codice che includono la soluzione FabrikamFiber.Anziché includere esplicitamente ogni progetto di codice (ad esempio $/SiteApp/Main/FabrikamFiber/FabrikamFiber.DAL) potrebbe eseguire il mapping $/SiteApp/Main/FabrikamFiber/ e in questo modo lei avrebbe mappato implicitamente tutte le sottocartelle contenenti i progetti di codice di cui necessita.

Passaggio 2

Julia non necessita dei file in $/SiteApp/Main/FabrikamFiber/3DModels o in $/SiteApp/Main/FabrikamFiber/Docs e poiché questi vengono mappati implicitamente daPassaggio 1, lei utilizza due mapping mascherati per escludere queste cartelle dall'area di lavoro.

Passaggio 3

Julia e gli altri del suo team mantengono e talvolta aumentano una raccolta di alcune librerie di base.Lei necessita di tutte le librerie in questa cartella e prevede di aver bisogno delle librerie che il team aggiungerà in futuro, pertanto esegue il mapping $/SiteApp/Main/libraries/Common.

Passaggio 4

Julia necessita solo di una piccola parte di una cartella di grandi dimensioni, $/SiteApp/Main/libraries/Common/LibraryC, così lei esegue il mapping mascherato in questo modo lei mapperà in modo esplicito solo le sottocartella necessarie: $/SiteApp/Main/libraries/Common/LibraryC/Sub-Library1.

Passaggio 5

Julia necessita di alcuni file all'inizio della LibraryD, ma non ha bisogno di tutto il grande contenuto delle relative sottocartelle, pertanto applica un mapping non ricorsivo a questa cartella: $/SiteApp/Main/libraries/Specialized/LibraryD/*.

Utilizzare le aree di lavoro per isolare e gestire il lavoro tra i vari branch

Se la tua società utilizza i branch per isolare i rischi nel codebase, sarà necessario creare un'area di lavoro separata per ogni branch che viene utilizzato.

Ad esempio, in Fabrikam Fiber, il codebase e il personale saranno cresciuti.Per ridurre il rischio tra i molti team, viene creato un nuovo codebase.Julia continua il suo lavoro nel suo piccolo team, ma ora utilizza alcune aree di lavoro per gestire il lavoro che lei svolge in più branch.

Branch in cui Julia svolge il proprio lavoro

Passaggio 1

Sviluppo di funzionalità Lei modifica l'area di lavoro predefinita per eseguire il lavoro nel branch Extranet, dove partecipa allo sviluppo di siti web orientati ai clienti in questo branch.

Passaggio 2

Integrazione e Stabilizzazione Lei crea due nuove aree di lavoro per eseguire il lavoro nei branch Test e Dev, dove collabora con altri sviluppatori e tester per stabilizzare il codice durante l'integrazione.

Julia gestisce il suo lavoro in tre aree di lavoro, in ognuna delle quali viene eseguito il mapping delle cartelle in un branch sul server con le cartelle nel suo computer.

Mapping tra cartelle server e cartelle client

[!NOTA]

Creazione di un branch o sospensione (o shelving) sono le modalità preferite per isolare gli sforzi di lavori diversi sullo stesso codebase.Tuttavia, se nessuno di questi approcci soddisfa le tue esigenze, è possibile mappare la stessa cartella del server in più aree di lavoro.Nella maggior parte dei casi non è necessario eseguire questa operazione.Se si associa la stessa cartella del server in più aree di lavoro, tenere presente che si potrebbero avere modifiche in sospeso separate e diverse per lo stesso file archiviato in ogni area di lavoro.