terça-feira, fevereiro 28, 2006

Ferramenta para revisões e inspeções de código

Este artigo fala sobre uma interessante ferramenta que possui como foco facilitar o processo colaborativo para a realização de revisões e/ou inspeções de código via web. A ferramenta se chama Codestriker e é escrita em Perl.

A instalação da ferramenta (apesar de ser em Perl) é bem simples e o manual da ferramenta facilita muito o processo. O manual realmente é bem completo tanto no aspecto de instalação quanto no aspecto de configuração e uso.

Vamos mostrar como funciona o processo de criação e gestão das revisões de código.

A tela inicial mostra todos os tópicos abertos e permite a criação de novos.



Podemos criar tópicos de diversas maneiras. A tela abaixo mostra a criação de um tópico que vai pegar as diferenças diretamente do repositório Subversion definido na configuração. No caso ele irá gerar a diferença entre a revisão 5 e a 6 na linha principal de desenvolvimento. O email dos revisores é colocado para que eles possam receber uma mensagem de que um tópico de revisão está disponível.



Quando o tópico é criado uma URL é mostrada. Ela pode ser útil pois você pode usá-la em algum wiki ou então para colocar em algum issue de revisão na ferramenta de bug tracking. O tópico criado mostra o seguinte:



A tela do tópico mostra as diferenças entre as revisões lado a lado:



Um tópico também pode ser criado usando um arquivo gerado pelo svn diff. Essa forma é utilizada caso você queira que uma revisão seja realizada antes de fazer o check-in do código novo:



E você também pode submeter através do upload um código-fonte inteiro. Esse é um processo muito útil para revisar tudo que foi realizado até um certo ponto. A tela com o resultado mostra todas as linhas de um arquivo:



A lista de tópicos mostra então os tópicos abertos:



A inclusão de um comentário pode ser feita no nível de tópico, no nível de um dos itens de revisão (pode haver diffs de vários fontes diferentes em um único tópico) ou no nível de uma linha de código. No exemplo abaixo cliquei na linha 13 do código e assim a ferramenta abre uma janela no estilo AJAX, para eu inserir o comentário:



Quando o comentário é submetido a linha com o comentário fica com uma cor diferenciada para facilitar a revisão dos comentários pelos revisores ou a pessoa que irá corrigir o código:



E o melhor... ao passar o mouse em cima de uma linha marcada uma janela AJAX abre mostrando o comentário, sem necessidade de mudar de página:



Mas caso tenha interesse você pode clicar na aba "Topic Comments" para ver todos os comentários ordenados:



Na aba "Topic Information" encontramos algumas métricas específicas do tópico:



E você também pode analisar as métricas de todos os tópicos:




A ferramenta ainda possui uma integração com duas ferramentas de bug tracking: Bugzilla e FlySpray.

Um item que falta na ferramenta é o controle de usuários. Não existe nenhum tipo de controle de acessos com login e senha. Mas a idéia da ferramenta é ser colaborativa e creio que esse recurso tenha ficado em segundo plano.

Além disso no arquivo de configuração você pode definir níveis de métricas diferentes para suportar um processo mais formal como, por exemplo, os itens definidos por Gilb e Graham no livro Software Inspections.

Marcadores:

0 Comentários:

Postar um comentário

Links para este artigo:

Criar um link

<< Home


Veja as Estatísticas