sexta-feira, 13 de agosto de 2010

Revisão de código

É um exame sistemático, destina-se a encontrar e corrigir erros descuidados na fase inicial de desenvolvimento melhorando tanto o global de qualidade de software e a competência dos desenvolvedores.

Uma revisão de código é muito importante para a saúde do projeto, não existe sucesso se o design e o código são ruins.


Tipos:
Basicamente a prática de revisão de código dividi-se em duas categorias principais:

1º A revisão de código formal:
É quando há um processo estruturado, envolvendo um processo cuidadoso e detalhado com vários participantes e de múltiplas fases.

É o método tradicional de revisão, em que os programadores atendem uma série de reuniões e revisões de códigos, linha por linha, geralmente usando cópias impressas do material.

2º A revisão de código leve:
Tipicamente requer menos sobrecarga de inspeção de código formal, embora possa ser igualmente eficaz quando feito corretamente.

São muitas vezes realizados como parte do processo de desenvolvimento normal.

Objetivos:
Um dos propósitos é ter a certeza de que o código que está sendo produzido tem qualidade suficiente para ser lançado. Em outras palavras, é a prova de fogo para saber se o código deve ser promovido para a próximo etapa no processo.

As revisões de código são muito eficazes na detecção de erros de todos os tipos, incluindo aqueles causados por uma estrutura pobre, aqueles que não correspondem a negócios no processo, e também as omissões simples. Isso porque eles são um teste decisivo eficaz para a qualidade do código.

Outro propósito da revisão de código é como uma ferramenta de ensino para ajudar os desenvolvedores a aprender quando e como aplicar técnicas para melhorar a qualidade do código, consistência e sustentabilidade.

Através do código cuidadosamente avaliado de forma recorrente, os desenvolvedores tem a oportunidade de aprender formas diferentes e potencialmente melhor de codificação.


Metodologias que auxiliam na revisão de código:
Hoje em dia existem várias metodologias que nos auxiliam na hora de nossa revisão de código, neste post vamos abordar algumas delas.

  • XP - Extreme Programming:
    XP implementa um simples, mas eficaz ambiente permitindo que as equipes tornam-se altamente produtivas. A equipe se alta organiza em torno do problema para resolvê-lo o mais eficientemente possível.

    Este método melhora um projeto de software em cinco formas essenciais, a comunicação, simplicidade, feedback, respeito e coragem.
    Em específico o XP nos auxilia em algumas técnicas para revisão de código, como o pair programming, Refactoring e Unit Testing.

    Com o pair programing nossa revisão de código torna-se constante, já que teremos um desenvolvedor programando realmente, se preocupando apenas com uma linha de código específica e outro apenas assistindo e analisando o projeto como um todo, tendo tendo uma visão ampla, que ajuda a encontrar bugs.

    Com refactoring é o que acontece logo após a revisão propriamente dita, e pode ser feito tanto pelo revisador como pelo analisador do código. Consiste na alteração de código com o intuito de torná-lo melhor.

    O Unit Testing é executado pelo próprio desenvolvedor, e consiste em testar casa unidade do seu código, verificando falhas e bugs, auxiliando e muito o trabalho do avaliador do código, pois dessa maneira o desenvolvedor consegue diminuir significadamente o número de bugs.

  • FDD - Desenvolvimento guiado por funcionalidade.
    Este método é orientado a funcionalidades, ele tem a vantagem de ver a aplicação separada, e não ela como um todo, o que reduz o volume de código a ser revisado, além também de a própria metodologia incentivar a revisão de código. A sua estrutura permite que ele seja associado à outras metodologias, facilitando ainda mais o desenvolvimento e a revisão de código e manutenção.

  • Peer Review:
    Consiste em submeter um código à um ou mais especialistas do mesmo escalão que o desenvolvedor, que se mantêm anônimos. Esses revisores anônimos frequentemente fazem comentários ou sugerem correções para o código apresentado, contribuindo para a qualidade do código. Com esta ampla visão, temos um grande aliado na busca de bugs.

Ferramentas:
Podemos fazer uso de ferramentas como auxilio em nossa revisão de códigos, como Checkstyle,PMD, FindBugs.

Como exemplo vamos utilizar um plugin para o eclipse da ferramenta findBugs:

Instalação:

Para usar o findbugs plugin para o Eclipse, você precisa do Eclipse 3.3 ou posterior, e JRE / JDK 1.5 ou posterior.

2º No eclipse vá para: Help/Install new software/Add/
name:findBugs
location: http://findbugs.cs.umd.edu/eclipse
clique em ok!
Em work With selecione findBugs e, abaixo marque no checkBox.
clique em next!
Selecione novamente findBugs.
Clique em next!
Aceite, ok! Instalado com sucesso.

Agora para utilizá-lo, escolha um projeto no eclipse, clique com o botão direito do mouse e, escolha a opção findBugs, FindBugs.

Pronto! Agora estamos prontos para aproveitar todos os benefícios desta ferramenta.

Referências:

Um comentário:

  1. bom dia!ótimo post, como sugestão, temos o sonarqube, ótima ferramenta de análise de código, que alinha findbugs, checkstyle, dentre outras, onde, atrelada a um processo de integração contínua, podemos avaliar a qualidade do nosso código. além desta, temos o reviel board, onde, podemos inserir comentários em nosso código revisado.

    ResponderExcluir

DÚVIDAS - CRITICAS - SUGESTÕES