Casos de uso comuns

o objetivo principal do Visual Studio Live Share é permitir que os desenvolvedores colaborem entre si com mais facilidade, sem apresentar qualquer opinião sobre quando e como fazer isso (por exemplo, qual ferramenta de comunicação usar, a metodologia de software "correta" ou o fluxo de trabalho do SCM). Dessa forma, suas ferramentas podem dar suporte a interações que ocorrem naturalmentee com a frequência necessária, mas de forma a complementar como você já prefere trabalhar.

este documento realça alguns casos de uso que Visual Studio Live Share já está sendo usado para o e descreve como oferecemos suporte a eles, e como planejamos otimizá-los mais detalhadamente (com base nos comentários!). se você estiver usando Live Share para algo que ainda não esteja coberto abaixo, ou se você considerar que podemos fazer melhor para dar suporte a um caso de uso específico, informe -nos.

Assistência rápida

ao encontrar um problema (por exemplo, tentar resolver um bug, configurar seu ambiente), você pode usar Visual Studio Live Share para buscar instantaneamente assistência de outro ponto. em muitos casos, não é preciso limpar imediatamente o contexto que a pessoa que fornece ajuda precisará e, portanto, Live Share ajuda simplificando o fornecimento de acesso a todo o seu projeto e se/conforme necessário, compartilhar incrementalmente mais (por exemplo, um servidor local, terminal somente leitura). Não é necessário enviar trechos de código e/ou mensagens de erro de volta e para trás!

além disso, como Live Share permite que você compartilhe sua sessão de depuração ativa, sem a necessidade de "convidados" instalar qualquer um dos SDKs de plataformas necessários (por exemplo, Node.js, Go, .net Core) ou extensões de ferramentas, ele pode ajudá-lo a obter a resolução mais rapidamente e evitar situações "não reproduzidas em meu computador". Live Share permite compartilhar o estado de depuração com outras pessoas, para qualquer linguagem de programação ou ambiente de tempo de execução (por exemplo, Kubernetes, React Native app) e, portanto, independentemente do que você precisa de ajuda, você pode compartilhar!

Horário de expediente

Muitas empresas e instituições educacionais (por exemplo, escolas, cursos de treinamento online) oferecem suporte a seus clientes/funcionários/alunos em momentos predeterminados e, geralmente, em uma frequência recorrente (por exemplo, toda sexta-feira da 3-5 PM). Dessa forma, "horário do escritório" é simplesmente uma forma agendada de "assistência rápida", em vez de ser totalmente ad hoc. Live Share facilita a obtenção de ajuda rapidamente, já que o "especialista" que fornece ajuda pode entrar imediatamente em uma sessão de colaboração e responder às suas perguntas, sem a necessidade de configurar seu computador.

Programação de pares

um dos cenários mais usados para Visual Studio Live Share é "programação de pares": dois ou mais desenvolvedores, trabalhando juntos em uma tarefa compartilhada, com o objetivo de compartilhar conhecimento, aumentar a coesão da equipe e, potencialmente, a qualidade do produto. A aparência exata da programação de pares pode diferir significativamente entre equipes e situações, dependendo do seguinte (entre outras):

  1. O escopo da "tarefa" que está sendo colaborável (por exemplo, um bug, uma história de usuário)

  2. A duração esperada da sessão de colaboração (por exemplo, dois minutos, uma hora, tempo integral, uma vez por semana, TBD)

  3. O número de pessoas envolvidas (por exemplo, duas, a equipe inteira)

  4. A função de cada participante (por exemplo, "driver", observador/revisor, especialista no assunto)

  5. A proximidade dos participantes (por exemplo, colocalizado na mesma construção, em todo o mundo)

a Live Share foi projetada para ser independente de todas as preocupações mencionadas anteriormente e, em vez disso, procura oferecer suporte à programação de pares que é completamente "oportunista" e atendeu à sua situação. dito isso, ao contrário de dois desenvolvedores que compartilham um único teclado e uma tela, Live Share permite uma forma de programação de pares que permite que os desenvolvedores trabalhem em uma meta compartilhada, sem remover suas preferências individuais de autonomia ou ambiente. Você pode trabalhar de forma independente ou em conjunto, permitindo que cada participante traga seu próprio processo de pensamento para a colaboração.

para interromper esse caso de uso ainda mais, os itens a seguir representam formas de programação de par que observamos pessoas usando Live Share para:

Programação de Mob

A programação Mob (ou a programação Swarm) é basicamente a programação de pares, mas com mais de duas pessoas. portanto, todos os benefícios de Live Share para a programação de par também se aplicam igualmente. Além disso, algumas equipes fazem "swarming" de acordo com a necessidade (por exemplo, a equipe rallying em uma análise de incêndio) em oposição ao tempo integral.

atualmente, Live Share dá suporte a até 30 convidados em uma sessão.

Dica

Para habilitar 30 convidados em uma sessão:

  • VS Code: adicionar "liveshare. increasedGuestLimit": "true" para settings. json
  • Vs: definir opções > de ferramentas Live Share > maior limite de convidado para "verdadeiro"

Competições de codificação/hack-A-thons

As competições de codificação e os hack-a-thons são efetivamente as variações de tarefa única e de curto prazo da programação de Mob. Os membros da equipe e sua função atual também são potencialmente dinâmicos. Como esse caso de uso normalmente também é sensível ao tempo, a capacidade de colaborar em tempo real sem a necessidade de adotar uma ferramenta totalmente nova, e a capacidade de trabalhar juntas, sem ser restrita a uma única tela ou ao teclado, pode passar por um log para aumentar a velocidade.

Como os participantes nesse ambiente talvez nem sempre sejam totalmente "confiáveis", você pode remover (e bloquear) um convidado de uma sessão a qualquer momento. Isso fornece "hosts" com controle total sobre seu ambiente.

Projetos de grupo escolar

Os projetos de grupo acabam olhando muito como a programação Mob, em que vários alunos estão trabalhando juntos e podem fazer a transição diretamente entre o foco em uma única tarefa ou trabalhar em tarefas separadas simultaneamente. em vez de simplesmente depender do controle de versão para colaborar de forma assíncrona, eles podem usar Live Share para trabalhar em conjunto em tempo real, o que pode ajudar os benefícios sociais e educacionais de trabalhar em um grupo.

Streaming do desenvolvedor

o streaming do desenvolvedor (via Twitch ou Mixer) se tornou uma nova forma atraente de educação. embora Live Share não se destinar a substituir suas plataformas de difusão (embora tenhamos ouvido a solicitação!), ele fornece um meio para o host emparelhar o programa com um ou mais convidados e, em seguida, transmitir essa interação. Dessa forma, os visualizadores podem potencialmente aprender mais vendo a interação natural e o processo de pensamento de dois ou mais desenvolvedores, que poderiam até mesmo trabalhar juntos em sistemas operacionais e IDEs totalmente separados!

criação de protótipos/início de Project

Quando uma equipe está iniciando um novo projeto/microserviço, ou criando um protótipo/travadondo um novo recurso, muitas vezes pode ser útil colaborar para tornar o progresso rápido e explorar novas ideias. como a base de código de forma mais recente talvez ainda não esteja confirmada em um repositório compartilhado, Live Share permite que todos participem do processo iterativo, independentemente de estarem no mesmo escritório ou não.

Educação interativa

em termos gerais, Live Share busca ajudar os desenvolvedores a compartilhar conhecimento entre suas equipes. a educação é um caso de uso fundamental para Live Share e dá suporte a isso particularmente bem, permitindo que cada participante interaja com a base de código de colaboração, em vez de simplesmente assistir a uma tela. Todos aprendem de maneiras diferentes e, portanto, ao fornecer independência a um "aluno", eles podem aproveitar a instrução que está sendo fornecida, sem a necessidade de sacrificar sua capacidade de explorar suas próprias ideias ao longo do caminho.

Aconselhamento/integração de pares

ao introduzir um desenvolvedor para uma nova base de código, área de recursos, tecnologia, etc., você pode usar Live Share para orientá-los no projeto (usando Follow Mode ), de modo que eles possam acompanhar você, mas de dentro de seu próprio IDE pessoal. como Live Share permite que "convidados" naveguem de forma independente o projeto (por exemplo, abrindo um arquivo, executando um Peek Definition ), eles podem seguir a permissão, mas também executar explorações rápidas, conforme necessário (por exemplo, "Hmm, o que essa função faz?").

Bolsas de Brown da equipe

Os pacotes Brown da equipe são efetivamente como o Orientador de pares, mas são apresentados a uma equipe inteira e, potencialmente, mais concentrados na social do conhecimento geralmente útil, em oposição ao suporte à integração e/ou à ajuda com uma tarefa específica.

Palestras em sala de aula

quando os instrutores estão ensinando uma lição, eles podem usar Live Share para compartilhar seus projetos com alunos, em vez de simplesmente apresentar a tela. Isso permite que toda a classe acompanhe com o professor, enquanto pode interagir com o projeto por conta própria. Além disso, o professor pode pedir aos alunos individuais para auxiliar na resolução de uma parte específica da lição (por exemplo, "qual método devemos chamar aqui?"), que pode ajudar nos aspectos sociais da classe, sem exigir que os alunos percorram a frente da sala ou até mesmo estejam fisicamente presentes na mesma sala (por exemplo, cursos online).

para auxiliar nas configurações da sala de aula, Live Share habilita o compartilhamento no modo somente leitura. Os instrutores podem usar o modo somente leitura para permitir que eles compartilhem seus projetos com alunos sem precisar se preocupar com edições desnecessárias ou acidentais sendo feitas.

além disso, Live Share tem suporte para habilitar até 30 convidados ingressando em uma sessão de colaboração. Dessa forma, os instrutores podem ter sua classe inteira unida em uma sessão e exibir código juntos.

Para habilitar esse recurso:

  • VS Code: adicione "liveshare. increasedGuestLimit": "true" a settings. json.
  • Vs: definir opções > de ferramentas Live Share > maior limite de convidado para "verdadeiro"

para otimizar totalmente Live Share para esse cenário, precisamos simplificar a maneira como as sessões são iniciadas (#422).

Revisões de código

PRs são uma maneira eficiente de colaborar com outras pessoas, mas normalmente representam a conclusão de uma tarefa (excluindo "WIP" PRs) e o desejo de mesclá-las. Muitas vezes, os comentários fornecidos em uma PR poderiam ser facilmente fornecidos anteriormente e, portanto, há um valor potencialmente para que as equipes busquem conselhos de seus colegas de forma fácil e contínua, em vez de esperar até que eles "concluam" uma tarefa a perguntar.

como Live Share permite que você compartilhe instantaneamente seu projeto com outras pessoas, ele pode ser usado para habilitar revisões de código "informais"/ad-hoc, em que, em vez de pedir ajuda, você está simplesmente procurando entrada para garantir que sua direção e/ou abordagem se alinhe com outras pessoas. Isso pode potencialmente ajudar a PRs subsequentes a concluir e, definitivamente, ajuda a proteger o conhecimento em toda a equipe.

além disso, como Live Share permite que você compartilhe um diretório arbitrário, você pode usá-lo para executar revisões de código, mesmo que você não esteja usando o controle de versão no momento (embora você deva!) ou se sua equipe não usar PRs (por exemplo, você faz desenvolvimento baseado em tronco).

no momento, o Live Share não compartilha diferenças de controle do código-fonte, o que é uma parte crítica do contexto ao usá-lo para revisões de código. Isso está em nosso roteiro, e todos os comentários sobre a prioridade são muito apreciados (vote aqui).

Entrevistas técnicas

Ao diexibir os candidatos para uma posição de desenvolvedor, muitas vezes pode ser útil ir além das discussões do quadro de comunicações e, em vez disso, observar que resolvem um problema de codificação de dentro de um IDE real (especialmente se a sua equipe/organização tiver "padronizado" em uma ferramenta que você gostaria de vê-los usar). Isso não apenas oferece a eles o benefício de trabalhar de uma maneira potencialmente mais natural/confortável (a maioria dos desenvolvedores não codifica em whiteboards!), mas também fornece comentários/assistência imediatos durante o trabalho (por exemplo, erros de build, intelliSense). Muitas vezes, é mais importante entender o processo de pensamento de um candidato, em vez de sua capacidade de memorizar a sintaxe exata e/ou nomes de API. Dessa forma, o Live Share fornece uma experiência semelhante a fazer uma sessão de programação de par, mas permite que o participante seja em seu próprio ambiente (incluindo configurações do sistema operacional, como acessibilidade) e funcionaria igualmente para a sessão local ou remota. Ingressar em uma sessão da Web permite que o candidato use o ambiente de desenvolvimento e a base de código da equipe sem baixar nada.

Além disso, o desenvolvimento do mundo real é mais do que simplesmente escrever código. Como Live Share também dá suporte à depuração compartilhada, tarefas e terminais, ele permite que os participantes observem os candidatos durante o diagnóstico de um problema e forneçam a eles as ferramentas apropriadas necessárias para resolvê-lo (por exemplo, depuração de etapas, executar testes). Como todo o contexto é remoto do computador do host, os candidatos podem ir rapidamente para o "ambiente de entrevista" sem a necessidade de configurar seu computador (além de instalar Live Share). Teams então poderia manter um repositório de aplicativos de conferência compartilhados (ou usar sua base de código de produto real), que poderia ser clonado e compartilhado com candidatos, simplesmente enviando a ELES a URL da sessão antes de cada conversa.

Trabalhando remotamente

Trabalhe em casa sem precisar manter a caixa de ferramentas do computador de desenvolvimento em casa em sincronia com as do seu trabalho. Termine rapidamente essa linha de código de casa sem precisar fazer push do trabalho, clonar o repo em casa e encontrar a linha exata em que você estava trabalhando. Conexão de um laptop leve para seu computador de trabalho pesado.

Confira também

Está tendo problemas? Confira Solução de problemas ou envie comentários.