Assegure a qualidade do seu código Python - Clone Digger

Código clonado? Mesmo que você possa verificar a qualidade do seu código com pep8, Pylint e Pyflakes, uma das virtudes de um projeto de software é não possuir código duplicado (leia mais sobre DRY). O fato é que tanto intencionalmente como propositalmente, podemos duplicar um trecho de código e acabar prejudicando manutenções futuras (atire a primeira pedra quem nunca deu aquele CTRL+C e CTRL+V, e prometeu um refactoring depois).

Para facilitar a busca por código duplicado, podemos utilizar uma ferramenta chamada Clone Digger. Prático, rápido e muito simples. Agora ficou fácil “caçar” código duplicado em projetos Python.

Na prática

Por tratar-se de uma ferramenta bem objetiva, não há muito o que falar sobre o Clone Digger. Então, vamos direto para a parte prática.

Para iniciar a análise, basta chamar o executável apontando para o diretório do seu projeto:

$ clonedigger meuprojeto/

Será gerado um arquivo chamado output.html, com um relatório detalhado (como este). Serão apresentadas informações como a quantidade de arquivos analisados, quantidade de “clones”, de linhas duplicadas e um apontamento com os trechos de código que a ferramenta concluiu como “clones” (não necessariamente iguais, mas semelhantes).

Particularmente, a ferramenta me ajuda bastante a determinar se certos trechos de código não poderiam ser herdados por uma classe pai, ou algumas rotinas costumeiras não poderiam ser encapsuladas em funções.

Referências

Até a próxima…