O fato é que existem diversas finalidades para os softwares: diversos clientes, regras de negócios etc, mas o que todos os programadores tem em comum é a procura de um bom código. Certamente um bom código facilitará a manutenção, trará baixa curva de aprendizagem caso um novo membro entre na equipe além de não ter vergonha de mostrar seu código para alguém :).
O grande problema da analise de código é que elas, em muitos caso, devem ser feitas conhecendo também as regras de negócios, já que uma aplicação cheia de camadas não a faz necessariamente mais elegante e sim um código que além de simples e entendível atenda os requisitos do cliente. Mas então como avaliar se o código tem qualidade ou não ? Essa é uma pergunta que certamente vai variar de projeto para projeto, mas existe uma ferramenta que pode te dar uma orientação em relação ao seu código, o sonar.
O sonar é um projeto open source que visa justamente isso, avaliar a qualidade de seu código. Para isso ele avalia a arquitetura e design, número de comentários, regras do java, alto nível de complexidade, código duplicado, cobertura de testes no código, etc. Além de possuir um número bastante extenso de plugins. Ele armazena todas as informações de seu código em um banco de dados de sua preferência, assim você pode também acompanhar a evolução da qualidade do seu projeto.
Para começar a usar em seu projeto maven siga os seguintes passos:
Realize o download do sonar em: http://www.sonarsource.org/
Descompacte o arquivo que você baixou
Configure o banco de dados em SONAR_HOME/conf/sonar.propreties
Caso você não configure o banco ele por padrão rodará no derby
No terminal na pasta SONAR_HOME/bin entre na plataforma de sua escolhe e execute o comando de iniciar o sonar, no meu caso será:
sh sonar-2.14/bin/linux-x86-32/sonar.sh start
Pronto o sonar rodará em http://localhost:9000/
Figura 1: Sonar.
Para rodar o sonar em seu projeto é preciso setar as configurações do maven sobre o sonar no settings.xml do maven2.
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<sonar.jdbc.url>jdbc:postgresql://localhost/sonar</sonar.jdbc.url>
<sonar.jdbc.driver>org.postgresql.Driver</sonar.jdbc.driver>
<sonar.jdbc.username>user</sonar.jdbc.username>
<sonar.jdbc.password>password</sonar.jdbc.password>
<sonar.host.url>http://localhost:9000</sonar.host.url>
</properties>
</profile>
Pronto agora é somente executar o sonar no seu projeto maven com:
mvn sonar:sonar
Figura 2. Analise do Sonar
Uma vez executado o comando se pode avalizar a qualidade do seu código pelo navegador, muitos projetos vem utilizando o sonar dentre eles o openjdk.
Com isso se mostrou o sonar que serve como uma ótima bússola para o bom código e qualidade de programação em seu projeto e um agradecimento ao Bruno Costa por me apresentar o sonar.