Um dia na vida de um desenvolvedor de ALM: suspender trabalho, corrigir um bug e realizar uma análise do código
Uma maneira eficiente de um clique de alternar o contexto trabalhando de um segmento de trabalho para outro está disponível em Visual Studio Premium e em Visual Studio Ultimate com o Team Foundation Server.Além de isso, os membros da equipe podem facilmente trocar mensagens sobre alterações propostas para o código.Este tópico ilustra esses recursos, continuando um tutorial que segue membros de uma equipe agile fictício por um dia.
Peter foi ocupado escrever qualquer código para atender a uma tarefa de item de retorno. Em o entanto, seus colegas eles descobriram um bug que os bloqueasse, e deseja corrigi-lo imediatamente.Suspende o trabalho que estão fazendo e corrigir o erro.Solicita que Julia examine a correção e, depois que a revisão, fazer o check-in a correção e retoma trabalham em sua tarefa original.
Observação |
---|
Meus recursos de revisão de trabalho e código que usa Peter estão disponíveis somente em Visual Studio Premium e em Visual Studio Ultimate. |
Neste tópico
Suspensão o trabalho atual e iniciar o trabalho em um bug
Investigar o erro
Solicitar uma revisão de código
Aceitar e executar () ou reduzir uma revisão de código
Receber e responder a uma revisão de código
Corrigir o teste e o código
Fazer check-in a correção
Continuar o trabalho em uma tarefa
Suspensão o trabalho atual
Como Peter funciona em um item de retorno, Julia vem discutir um bug que a seja bloqueando.Está em uma área com que Peter é familiar, o que cria uma tarefa corrigir o erro e mesmoatribui-a si.Decidir imediatamente iniciar o trabalho na correção.
Antes de começar a trabalhar no novo erro, Peter deseja certificar-se que o trabalho atual é permitido em um local seguro no servidor de equipe.Em a página de Meu Trabalho , Peter escolher Suspender para salvar (em Team Foundation Server):
Qualquer trabalho que fez, incluindo se altera ao código, teste, e outros arquivos.
Soluções abertas, o windows, pontos de interrupção, variáveis da janela do relógio, e outros bit de estado do Visual Studio.
Agora que seu espaço de trabalho é limpo, Peter arrasta a nova tarefa de Itens de trabalho disponíveis a Trabalho em Andamento.Estiver pronto para pesquisar e escrever a correção.
Observação |
---|
O contexto trabalhando é associado aos itens de trabalho que mostram como em andamento em my página de trabalho.Usando Suspender e Retomar, você pode rapidamente alternando entre diferentes tarefas.Suas soluções e abrir arquivos, as alterações de código, e todos o layout do Visual Studio são trocados juntos. |
Para suspender o trabalho atual e iniciar o trabalho em uma tarefa diferente
conectar: se você não está mais conectado ao projeto de equipe que você deseja trabalhar em seguida, se conectar ao projeto de equipe:
- Em Team ExplorerInício, escolha , e escolhaMeu Trabalho.
Suspender sua tarefa atual:
Em a seção de Trabalho em Andamento , escolha Suspender.
Em a caixa que aparece, especifique o nome que você deseja fornecer a esse conjunto de trabalho suspensa, e então escolha o botão de Suspender .O nome padrão é o item atualmente em andamento de trabalho.
Início de trabalho em uma nova tarefa, bugs, ou outro item de trabalho:
Antes de selecionar um item de trabalho, você pode desejar:
Crie uma nova tarefa ou outro item de trabalho Novo escolhendo em Itens de trabalho disponíveis; ou
Selecione uma consulta em Itens de trabalho disponíveisdiferente.
Arrastar um item de trabalho de Itens de trabalho disponíveis a Trabalho em Andamento.
Como alternativa, você pode alternar a um item de trabalho que você suspensão anteriormente arrastando o da de Trabalho Suspenso.
Dica |
---|
Os itens atualmente em andamento de trabalho links para suas alterações de código e estado atual do Visual Studio.Para permitir que o Visual Studio ajude-o a organizar seu trabalho, certifique-se de que os itens são apropriadas no estado em andamento quando você alternar de uma tarefa a outra. |
Investigar o erro
Peter abrir e ler o item de trabalho de bug.De acordo com a descrição que foi identificado por um membro da equipe de teste, tornar uma paga é embandeirada às vezes incorretamente como por pagar.Há um instantâneo do ambiente de laboratório anexado ao item de trabalho de bug.Peter pode abrir as máquinas virtuais em que o teste foi executado, consulta fazer incorreta, e para trás da etapa através do log de IntelliTrace.Rastreamento de falha ao método a seguir:
public class LocalMath
{
public static bool EqualTo(double a, double b)
{
return a == b;
}
Log de IntelliTrace, Peter consulta que às vezes o método retorna falso porque diferem dos parâmetros por uma pequena quantidade.Peter souber que se arredonda erros de esse tipo são inevitáveis em aritimética de ponto flutuante, e que é prática incorreto testar números de ponto flutuante para igualdade.
Aumente os testes para mostrar o erro
Quando um erro é encontrado, que mostra houve um intervalo de testes de unidade, ou que o teste não corresponde às necessidades partir dos usuários.Portanto, antes de corrigir o erro, Peter adicione um teste que demonstra a presença de esse erro.
// Added 2012-02-02 for bug 654321:
/// <summary>
/// Make sure that number equality test allows for
/// small rounding errors.
/// </summary>
[TestMethod]
public void TestDoublesEqual()
{
// We allow a rounding error of 1 in 1000000:
TestEqual(1, 1e-7, true); // Less than allowed error
TestEqual(1, 1e-5, false); // More than allowed error
TestEqual(1000, 1e-7, true); // Less than allowed error
TestEqual(1000, 1e-5, false); // More than allowed error
}
private void TestEqual(double value, double error, bool result)
{
// Try different combinations of error and value:
Assert.IsTrue(result == LocalMath.EqualTo(value + error, value));
Assert.IsTrue(result == LocalMath.EqualTo(value, value + error));
Assert.IsTrue(result == LocalMath.EqualTo(value - error, value));
Assert.IsTrue(result == LocalMath.EqualTo(value, value - error));
}
Executa um teste e funciona como esperado.
Faça a passagem de teste
Peter corrigir o código:
public static bool EqualTo(double a, double b)
{
// Allow for rounding errors.
// For example, a == 2.0 and b = 1.99999999999
const double allowedError = 1/1000000;
return System.Math.Abs(a - b) < allowedError;
}
De teste passa agora:
Solicitar uma revisão de código
Peter estiver satisfeito com a correção para o erro, mas não fazer o check-in seu trabalho ainda.Sua equipe usa revisões de código para aumentar a qualidade total de código e para reduzir a possibilidade de criar mais bugs, portanto Peter usa o team Explorer para solicitar uma revisão de código de seus companheiros Julia e Adam de equipe.
Para solicitar uma revisão de código
Em Team Explorer, na página de Meu Trabalho , escolha Solicitar Revisão.
A página de novo revisão de código aparece.
Especifique um ou mais revisores.
Especifique o nome da revisão.
Especifique o caminho de área.
Especificar um comentário a seus revisores.
Escolha Enviar Solicitação.
Os revisores serão notificados de solicitação por email.
Você também pode solicitar uma revisão de código de trabalho, suspenso de um check-in particular, ou um conjunto de alterações.
Aceitar ou diminui uma revisão de código
Julia recebe a solicitação de revisão de código e aceitar-la.Examine o código, escreve algum feedback a níveis de arquivo e do bloco e em seguida, envia a revisão de código de volta a Peter.Adam é muito ocupado examinar o código e diminui.
Em os comentários, Julia indica que o teste é incorreto.O erro permitido deve ser uma fração especificada dos valores de entrada, não um valor constante.O teste deve multiplicar o erro por valor.
// We allow a rounding error of 1 in 1000000
// as a fraction of the value:
TestEqual(1, 1e-7, true); // Less than allowed error
TestEqual(1, 1e-5, false); // More than allowed error
TestEqual(1000, 1000*1e-7, true); // Less than allowed error
TestEqual(1000, 1000*1e-5, false); // More than allowed error
Dica |
---|
Observe que os membros da equipe usam os testes como um foco para a discussão.Se os testes e corretos são suficientes, o código será também.Diferentemente de código, cada teste representa um caso separados.Por esse motivo, os testes são geralmente mais fácil da discussão do código. |
Para executar uma revisão de código
Em Team Explorer, na página de Meu Trabalho , vá para a seção de Minhas revisões e solicitações de código e abra a solicitação.
Em a página de revisão de código , você pode:
Escolha Aceitar ou Recusar para notificar o autor se você executará a revisão.
Escolha Adicione o revisor para adicionar outros revisores à solicitação da revisão.
Exibir alterações para cada arquivo que foi atualizado para este item de trabalho.
Expanda Comentários para discutir as alterações com o autor e outros revisores.
Escolha Adicione o comentário total
- ou -
Selecione um bloco de código e então escolha Adicionar Comentário do menu de atalho.
- Escolha enviar comentários para fazer suas contribuições visíveis ao autor e outros revisores.
Escolha Enviar e suporte para concluir a revisão, indicando se o código precisa mais trabalho.
Responder a uma revisão de código
Peter receber e responde a revisão de código de Julia.
Para responder a uma revisão de código
Os revisores e o autor do código podem trocar comentários tão freqüentemente como como.a revisão termina quando o autor a fecha.Com cada contribuição para a discussão, os outros participantes serão notificados por email.
Em Team Explorer, na página de Meu Trabalho , vá para a seção de revisões & solicitação de código e clique duas vezes na solicitação.
Você também pode abrir o menu de atalho para a solicitação e escolha Abrir.
Lê comentários e responde-lhes quando necessário.Para responder a um comentário, escolha Responder, insira seu comentário que aparece na caixa, e escolha OK.Para enviar os comentários, escolha enviar comentários.
Para exibir um arquivo e ver os blocos de código que têm comentários, ou editar um arquivo, vá para a seção de Comentários .Em a seção de Arquivos , abra o menu de atalho para o arquivo e escolha compare (somente leitura) ou editar Arquivo.
Quando você usa e outros revisores responder aos comentários de cada e você está pronto para fechar a revisão Feche a revisão, clique, e então escolha qualquer pessoa:
Conclua para indicar que a revisão está concluída.
- ou -
abandono para indicá-lo está cancelar a revisão.
Corrigir o teste e o código
Lê comentários de Julia, Peter corrigir o teste de unidade como sugere.o teste falha agora.Isso mostra o código que ainda não está correto.
Peter corrigir o código:
/// <summary>
/// Returns true if two numbers are equal.
/// </summary>
public static bool EqualTo(double a, double b)
{
// Allow for rounding errors.
const double allowedErrorMultiple = 1/1000000;
double allowedError = (System.Math.Abs(a) + System.Math.Abs(b)) * allowedErrorMultiple/2;
return System.Math.Abs(a - b) < allowedError;
}
O teste passa mais uma vez:
Dica |
---|
Para corrigir um bug, siga a mesma prática que no desenvolvimento de código.Escreva um teste que falhou faça teste o passado.Em o código e os testes somente quando os testes fluxos. |
Agora Peter gira a atenção a situação de teste em que o erro foi descobertos.As etapas para reproduzir o erro são descritas claramente no item de trabalho a situação de teste.Siga as etapas e descobre que as facturas são listadas corretamente.
Fazer check-in a correção
Peter no código fixo e os testes de unidade.O estado de erro é definido automaticamente a Resolvido, e o valor de Atribuída a é reatribuido automaticamente ao membro da equipe de teste que descobriu o erro.Esse membro da equipe verifique se o erro foi corrigido e fechado o item de trabalho.
Para fazer o check-in da correção
Em Team Explorer, na página de Meu Trabalho , escolha Fazer Check-in.
Examinar o conteúdo da página de Alterações pendentes para certificar-se que:
Todas as alterações relevantes são listadas em Alterações Incluídas
Todos os itens de trabalho relevantes são listados em Itens de Trabalho Relacionados.
Especificar Comentário sua equipe para ajudar a entender a finalidade de essas alterações aparecem quando o histórico de controle de versão dos arquivos e pastas alterados.
Escolha Fazer Check-in.
Continuar o trabalho em uma tarefa
Retoma de Peter trabalham em sua tarefa.Pode obter a volta para trabalhar rápido porque todas as alterações de código são restauradas para seu espaço de trabalho juntamente com bit importantes de estado como abrir janelas, pontos de interrupção, e variáveis da janela do relógio.
Para continuar o trabalho em uma tarefa
Em Team Explorer, na página de Meu Trabalho , localize a lista de Operador & as suspenso .Abra o menu de atalho para o item.Você tem duas opções:
Se você deseja continuar o trabalho e suspensa para suspender automaticamente as alterações pendentes em seu espaço de trabalho, escolha Retomar.
Se você deseja mesclar suspenso com o trabalho já alterações pendentes em seu espaço de trabalho, escolha Mesclar com Em Andamento.
Quando você continuar seu trabalho
Quando você continua seu trabalho, o Visual Studio restaura:
Sua solução aberta
Suas alterações de código
o estado e a posição de janelas abertas
Pontos de Interrupção
Variáveis e expressões da janela do relógio
Indicadores