Casi d'uso comuni

L'obiettivo principale di Visual Studio Live Share è consentire agli sviluppatori di collaborare tra loro più facilmente, senza introdurre alcuna opinione su quando e come farlo (ad esempio, quale strumento di comunicazione usare, la metodologia software "corretta" o il flusso di lavoro SCM). In questo modo, gli strumenti possono supportare le interazioni che si verificano naturalmente e con la frequenza necessaria, ma in modo che complimenti come si preferisce già lavorare.

Questo documento evidenzia alcuni casi d'uso per cui Visual Studio Live Share è già in uso e descrive il livello di supporto attualmente supportato e i modi in cui si prevede di ottimizzarli ulteriormente (in base al feedback!). Se si usa Live Share per qualcosa che non è già trattato di seguito o si ritiene che sia possibile fare meglio per supportare un caso d'uso specifico, segnalarlo.

Assistenza rapida

Quando si verifica un problema ,ad esempio quando si tenta di risolvere un bug, la configurazione dell'ambiente, è possibile usare Visual Studio Live Share per richiedere immediatamente assistenza a un altro peer. In molti casi, non è immediatamente chiaro quale contesto avrà bisogno la persona che fornisce assistenza e quindi Live Share aiuta a semplificare l'accesso all'intero progetto e, se/in base alle esigenze, condividere in modo incrementale più (ad esempio, un server locale, terminale di sola lettura). Non è necessario inviare frammenti di codice e/o messaggi di errore.

Inoltre, poiché Live Share consente di condividere la sessione di debug attiva, senza richiedere agli "utenti guest" di installare uno degli SDK di piattaforme necessari (ad esempio Node.js, Go, .NET Core) o estensioni degli strumenti, può aiutare a ottenere una risoluzione più veloce e a evitare situazioni di "non riprova nel computer". Live Share consente di condividere lo stato di debug con altri utenti, per qualsiasi linguaggio di programmazione o ambiente di runtime (ad esempio Kubernetes, app React Native) e quindi indipendentemente da ciò che serve assistenza, è possibile condividerlo.

Orario di ufficio

Molte aziende e istituti di istruzione (ad esempio, scuole, corsi di formazione online) forniscono supporto ai clienti/dipendenti/studenti in orari pre-determinati e in genere su una frequenza ricorrente (ad esempio ogni venerdì dalle 3 alle 17:00). In questo modo, le "ore di ufficio" sono semplicemente una forma pianificata di "assistenza rapida", invece di essere completamente ad hoc. Live Share semplifica l'assistenza, poiché l'"esperto" che fornisce assistenza può partecipare immediatamente a una sessione di collaborazione e rispondere alle domande, senza dover configurare il computer.

Programmazione di coppie

Uno degli scenari più comunemente usati per Visual Studio Live Share è la "programmazione di coppie": due o più sviluppatori, lavorando insieme a un'attività condivisa, con l'obiettivo di condividere conoscenze, aumentare la coesione del team e potenzialmente la qualità del prodotto. L'aspetto esatto della programmazione delle coppie può variare in modo significativo tra team e situazioni, a seconda dei seguenti (tra gli altri):

  1. Ambito della "attività" su cui si collabora (ad esempio un bug, una storia utente)

  2. Durata prevista della sessione di collaborazione (ad esempio due minuti, un'ora, tempo pieno, una volta alla settimana, TBD)

  3. Numero di persone coinvolte (ad esempio due, l'intero team)

  4. Ruolo di ogni partecipante (ad esempio "driver", osservatore/revisore, esperto di materia)

  5. La prossimità dei partecipanti (ad esempio, che si trova nello stesso edificio, in tutto il mondo)

Live Share è stato progettato per essere indipendente da tutte le preoccupazioni menzionate in precedenza, e invece si sforza di supportare la programmazione di coppia che è completamente "opportunistica" e soddisfa la tua situazione. Detto questo, a differenza di due sviluppatori che condividono una singola tastiera e schermo, Live Share consente una forma di programmazione di coppia che consente agli sviluppatori di lavorare su un obiettivo condiviso, senza rimuovere le proprie preferenze individuali di autonomia o ambiente. È possibile lavorare in modo indipendente, o insieme, consentendo a ogni partecipante di portare il proprio processo di pensiero alla collaborazione.

Per suddividere ulteriormente questo caso d'uso, gli elementi seguenti rappresentano forme di programmazione di coppie che sono state osservate persone che usano Live Share per:

Programmazione mob

La programmazione mob (o programmazione swarm) è essenzialmente una programmazione abbinata, ma con più di due persone. Pertanto, tutti i vantaggi di Live Share per la programmazione di coppie si applicano allo stesso modo. Inoltre, alcuni team fanno "sciame" in base alle esigenze (ad esempio, il team che si raduna intorno a un'esercitazione antincendio) anziché a tempo pieno.

Attualmente Live Share supporta fino a 30 utenti guest all'interno di una sessione.

Suggerimento

Per abilitare 30 guest in una sessione:

  • VS Code: aggiungere "liveshare.increasedGuestLimit":"true" a settings.json
  • Visual Studio: Impostare le opzioni degli > strumenti > live Share > Aumento del limite di guest su "True"

Concorsi di codifica/Hack-A-Thons

I concorsi di codifica e gli hack-a-thon sono in effetti variazioni a breve termine e a singola attività della programmazione mob. Anche i membri del team e il loro ruolo attuale sono potenzialmente dinamici. Poiché questo caso d'uso è in genere anche sensibile al tempo, la possibilità di collaborare in tempo reale senza dover adottare uno strumento completamente nuovo e la possibilità di lavorare insieme, senza essere limitati a una singola schermata o tastiera, può andare un modo di log in aumento della velocità.

Poiché i partecipanti in questo ambiente potrebbero non essere sempre completamente "attendibili", è possibile rimuovere (e bloccare) un guest da una sessione in qualsiasi momento. In questo modo, gli "host" hanno il controllo completo sull'ambiente.

Progetti del gruppo scolastico

I progetti di gruppo finiscono per cercare molto come la programmazione mob, dove più studenti lavorano insieme, e possono passare senza problemi tra concentrarsi su un'unica attività o lavorare su attività separate simultaneamente. Invece di basarsi semplicemente sul controllo della versione per collaborare in modo asincrono, è possibile usare Live Share per collaborare in tempo reale, che può aiutare i vantaggi sociali e educativi di lavorare in un gruppo.

Streaming per sviluppatori

Lo streaming per sviluppatori (tramite Twitch o Mixer) è diventato una nuova forma di formazione interessante. Anche se Live Share non è progettato per sostituire le piattaforme di trasmissione (anche se abbiamo sentito la richiesta!), fornisce un mezzo per l'host per associare il programma a uno o più utenti guest e quindi trasmettere tale interazione. In questo modo, i visualizzatori possono saperne di più visualizzando l'interazione naturale e il processo di pensiero di due o più sviluppatori, che potrebbero anche lavorare insieme in sistemi operativi e IDE completamente separati.

Creazione di prototipi/creazione di progetti

Quando un team sta avviando un nuovo progetto/microservizio o prototipazione/spiking di una nuova funzionalità, spesso può essere utile collaborare insieme per fare progressi rapidi ed esplorare nuove idee. Poiché la codebase appena creata potrebbe non essere ancora sottoposta a commit in un repository condiviso, Live Share consente a tutti di partecipare al processo iterativo, indipendentemente dal fatto che si trovano nello stesso ufficio o meno.

Istruzione interattiva

In generale, Live Share cerca di aiutare gli sviluppatori a condividere le conoscenze tra il team. L'istruzione è un caso d'uso fondamentale per Live Share e supporta questo aspetto particolarmente bene consentendo a ogni partecipante di interagire con la codebase su cui si collabora, invece di guardare semplicemente uno schermo. Tutti imparano in modi diversi, e quindi, fornendo l'indipendenza a un "studente", sono in grado di sfruttare l'istruzione data, senza dover sacrificare la loro capacità di esplorare le proprie idee lungo il cammino.

Peer Mentoring/Onboarding

Quando si introduce uno sviluppatore in una nuova codebase, area di funzionalità, tecnologia e così via, è possibile usare Live Share per illustrarli attraverso il progetto (usando Follow Mode), in modo che possano seguire insieme all'utente, ma dall'interno del proprio IDE personale. Poiché Live Share consente agli "utenti guest" di spostarsi in modo indipendente nel progetto (ad esempio, aprire un file, eseguire un Peek Definition), possono seguire l'autorizzazione, ma anche eseguire esplorazioni rapide in base alle esigenze (ad esempio,"Hmm, che cosa fa questa funzione?").

Borse marrone team

Le borse marrone del team sono in modo efficace come il mentoring peer, ma presentate a un intero team, e potenzialmente più incentrate sulla socializzazione delle conoscenze generalmente utili, invece del supporto all'onboarding e/o all'aiuto con un compito specifico.

Lezioni per le classi

Quando gli insegnanti insegnano una lezione, possono usare Live Share per condividere il progetto con gli studenti, invece di presentare semplicemente lo schermo. Ciò consente all'intera classe di seguire insieme all'insegnante, pur essendo in grado di interagire autonomamente con il progetto. Inoltre, l'insegnante può chiedere ai singoli studenti di aiutare a risolvere una determinata parte della lezione (ad esempio, "Quale metodo dovremmo chiamare qui?"), che può aiutare negli aspetti sociali della classe, senza richiedere agli studenti di camminare verso la parte anteriore della stanza, o anche essere fisicamente presenti nella stessa stanza (ad esempio corsi online).

Per facilitare le impostazioni della classe, Live Share consente la condivisione in modalità di sola lettura. Gli insegnanti possono usare la modalità di sola lettura per consentire loro di condividere i progetti con gli studenti senza doversi preoccupare di modifiche non necessarie o accidentali.

Live Share offre inoltre supporto per consentire fino a 30 utenti guest che partecipano a una sessione di collaborazione. In questo modo, gli insegnanti possono partecipare a una sessione e visualizzare il codice insieme.

Per abilitare questa funzionalità:

  • VS Code: aggiungere "liveshare.increasedGuestLimit":"true" a settings.json.
  • Visual Studio: Impostare le opzioni degli > strumenti > live Share > Aumento del limite di guest su "True"

Revisioni del codice

Le richieste pull sono un modo potente per collaborare con altri utenti, ma in genere rappresentano il completamento di un'attività (escluse le richieste pull wip) e il desiderio di unirlo in. Molte volte, il feedback fornito in una richiesta pull potrebbe essere stato facilmente dato in precedenza, e pertanto, il valore potenziale per i team è di cercare facilmente e continuamente consigli dai colleghi, invece di attendere fino a quando non completano un'attività da chiedere.

Poiché Live Share consente di condividere immediatamente il progetto con altri utenti, può essere usato per abilitare le revisioni di codice "informali"/ad hoc, in cui invece di chiedere assistenza, si sta semplicemente cercando input per garantire la direzione e/o l'approccio allineato agli altri. Questo può potenzialmente aiutare le richieste pull successive a completare più rapidamente e sicuramente aiuta a socializzare le conoscenze nel team.

Inoltre, poiché Live Share consente di condividere una directory arbitraria, è possibile usarla per eseguire revisioni del codice, anche se attualmente non si usa il controllo della versione (anche se è necessario!) o se il team non usa richieste pull (ad esempio, si esegue lo sviluppo basato su trunk).

Interviste tecniche

Quando si intervistano i candidati per una posizione di sviluppo, spesso può essere utile andare oltre le discussioni sulla lavagna e osservare invece che risolvere un problema di codifica dall'interno di un IDE effettivo (soprattutto se il team o l'organizzazione ha "standardizzato" su uno strumento che si vuole vederli usare). Questo non solo offre il vantaggio di lavorare in modo potenzialmente più naturale/confortevole (la maggior parte degli sviluppatori non codifica sulle lavagne!), ma offre anche feedback/assistenza immediati durante il funzionamento (ad esempio, errori di compilazione, intellisense). Molte volte, è più importante comprendere il processo di pensiero di un candidato, anziché memorizzare la sintassi esatta e/o i nomi API. In questo modo, Live Share offre un'esperienza simile all'esecuzione di una sessione di programmazione di coppia, ma consente al partecipante di trovarsi nel proprio ambiente (incluse le impostazioni del sistema operativo, ad esempio l'accessibilità), e funziona ugualmente anche per interviste locali o remote. L'aggiunta di una sessione dal Web consente al candidato di usare l'ambiente di sviluppo e la codebase del team senza scaricare nulla.

Inoltre, lo sviluppo reale è più che scrivere semplicemente codice. Poiché Live Share supporta anche il debug condiviso, le attività e i terminali, consente agli intervistatori di osservare i candidati durante la diagnosi di un problema e di fornire loro gli strumenti appropriati necessari per risolverlo (ad esempio, eseguire il debug dei passaggi, eseguire i test). Poiché tutto il contesto è remoto dal computer dell'host, i candidati possono passare rapidamente all'"ambiente colloquio" senza dover configurare il computer (oltre l'installazione di Live Share). Teams potrebbe quindi mantenere un repository di app di intervista condivise (o usare la codebase del prodotto effettiva), che potrebbero essere clonate e condivise con i candidati, semplicemente inviando loro l'URL della sessione prima di ogni colloquio.

Lavorare in remoto

Lavorare da casa senza dover mantenere sincronizzata la toolchain del computer di sviluppo home con il lavoro. Terminare rapidamente la riga di codice da casa senza dover eseguire il push dal lavoro, clonare il repository a casa e trovare la riga esatta su cui si stava lavorando. Connessione da un portatile leggero alla macchina da lavoro pesante.

Vedi anche

Problemi? Vedere la risoluzione dei problemi o inviare un feedback.