Tarefa: Revisar o Código
Esta tarefa descreve como revisar o código para verificar a implementação.
Disciplinas: Implementação
Relacionamentos
FunçõesExecutor Primário: Executores Adicionais:
EntradasObrigatório:
    Opcional:
      Saídas
        Etapas
        Recomendações Gerais
        Finalidade Recomendações gerais para cada revisão.

        Quando você está criando um software de alta qualidade, a revisão da implementação é um complemento de outros mecanismos de qualidade, como compilação, integração e teste. Antes de revisar a implementação, compile-a e utilize ferramentas, como os verificadores de regras de código, a fim de capturar o máximo de erros possível. Considere o uso de ferramentas que permitam a visualização do código. Os erros adicionais também podem ser detectados e eliminados antes da revisão da implementação, se o código for executado utilizando ferramentas de detecção de erros de tempo de execução.

        Os benefícios de revisar a implementação são:

        • Impor e estimular um estilo de codificação comum para o projeto. A revisão de código é uma maneira eficaz de os membros obedecerem ao Guia de Programação. Para assegurar isso, é mais importante revisar os resultados de todos os autores e implementadores do que revisar todos os arquivos de código-fonte.
        • Localizar erros que os testes automatizados não detectam. As revisões de implementação capturam erros diferentes daqueles encontrados durante o teste.
        • Compartilhar o conhecimento entre as pessoas e transferi-lo das mais experientes para as menos experientes.

        Existem várias técnicas que podem ser utilizadas para revisar a implementação. Siga um destes procedimentos:

        • Inspeção. Uma técnica de avaliação formal em que a implementação é examinada detalhadamente. As inspeções são consideradas a técnica de revisão mais produtiva. No entanto, essa técnica requer treinamento e preparação.
        • Acompanhamento. Uma técnica de avaliação em que o autor da implementação conduz um ou mais revisores pela implementação. Os revisores fazem perguntas e comentários sobre técnica, estilo, erros possíveis, violação dos padrões de codificação, e assim por diante.
        • Leitura de código. Uma ou duas pessoas lêem o código. Quando os revisores estiverem prontos, eles poderão se reunir e apresentar seus comentários e perguntas. No entanto, a reunião pode ser omitida e os revisores podem apresentar seus comentários e perguntas para o autor em um formulário por escrito. A leitura de código é recomendada para verificar pequenas modificações e como uma "teste de racionalidade".

        Os requisitos de qualificação dessa função são semelhantes aos da Função: Implementador; pessoas que desempenham essa função, em geral, são consideradas especialistas na linguagem de programação utilizada para o código que está sendo revisado. Na maioria dos projetos, essa função é desempenhada por programadores sênior que fazem parte da equipe de implementação.

        Consulte também Técnica: Revisões.

        Estabelecer Pontos de Verificação para a Implementação
        Finalidade Estabelecer uma lista de verificação para revisar a implementação. 


        Esta seção fornece uma lista de verificação geral para revisar a implementação, apenas como exemplos do que deve ser procurado em uma revisão. O Guia de Programação deve ser a principal fonte de informações sobre a qualidade do código.

        Geral

        • O código obedece ao Guia de Programação?
        • A documentação do código é automática? É possível compreender o código por meio da leitura?
        • Todos os erros detectados pela verificação das regras de código e/ou pelas ferramentas de detecção de erros em tempo de execução foram abordados?

        Comentários

        • Os comentários estão atualizados?
        • Os comentários são claros e corretos?
        • Os comentários são fáceis de serem modificados, caso o código seja alterado?
        • Os comentários se concentram em explicar por quê e não como?
        • Todas as surpresas, casos excepcionais e erros de artifício são comentados?
        • A finalidade de cada operação é comentada?
        • Os outros fatos relevantes sobre cada operação são comentados?

        Código fonte

        • Cada operação tem um nome que descreve o que ela faz?
        • Os parâmetros têm nomes descritivos?
        • O percurso normal em cada operação é claramente distinguível dos outros percursos excepcionais?
        • A operação é muito longa e pode ser simplificada extraindo-se as declarações relacionadas em operações privadas?
        • A operação é muito longa e pode ser simplificada reduzindo o número de pontos de decisão? Um ponto de decisão é uma instrução em que o código pode seguir por caminhos diferentes, por exemplo, as instruçõesif-, else-, and-, while- e case-.
        • O aninhamento de loops é minimizado?
        • As variáveis estão nomeadas adequadamente?
        • O código é objetivo e evita soluções "engenhosas"?
        Preparar Registro de Revisão e Documentar Defeitos
        Finalidade Documentar os resultados da revisão.
        Assegurar que os defeitos identificados foram documentados.  


        Após cada reunião de revisão, deve-se documentar os resultados da reunião em um Registro de Revisão. Os defeitos também devem ser documentados em Controles de Mudanças (e, conseqüentemente, designados a alguém para que os corrija).