Reduza bugs, vulnerabilidades, code smells, entre outros problemas em aplicações .NET Core, com esta ferramenta.
Na linha dos conteúdos abordados anteriormente, a qualidade do software é uma preocupação a se ter em conta pelas empresas e profissionais da área.
Anteriormente falamos de testes que é um excelente aliado na busca pela qualidade. Todavia, existem outros aspectos que pretendemos dar ênfase neste artigo, como codigos seguros e a complexidades dos mesmo. Complexidade para leitura, como para incluir novas alterações de forma fácil.
Talvez esteja a pensar, mas a revisão de código pode mitigar esses impactos. A proposta é não depender apenas de desenvolvedores, mas recorrer a uma ferramenta que faz a análise dos códigos e apresenta problemas relacionados com os pontos acima mencionados em minutos. Como bônus apresenta sugestões de correção.
Sonarqube
É uma ferramenta de análise de código que ajuda os desenvolvedores a entregar código de qualidade, seguro, consistentes, confiáveis e com baixo nível de complexidade. Possui suporte a mais de 30 linguagens de programação, pode ser integrado a pipeline de continuous integration.
Desenvolvido na linguagem Java em 2006.
Em termos de licenciamento possui versão grátis e outras versões pagas.
Sonarqube possibilita identificar:
Vulnerabilidade de segurança;
Bugs;
Duplicação de código;
Nível de cobertura de teste;
Complexidade de código que podem dificultar no processo de manutenção;
Permite ainda, criar novas regras para assegurar que certos padrões sejam seguidos.
Funcionamento
A solução é composta por duas aplicações, um cliente que recolhe os dados do código fonte e os respetivos testes, outro servidor que faz processamento dos dados recolhidos e apresenta os relatórios e as sugestões de correção. No servidor pode ser feito as configurações e criação das novas regras.
Demonstração
Para efeitos de demonstração a proposta é instalar a versão Community Edition. O servidor vai ser instalado num container Docker, assim como uma base de dados PostgreSQL. Para facilitar segue um ficheiro Docker compose (docker-compose.yml) que, permite configurar e arrancar vários containers container ao mesmo tempo.
O ficheiro deve ser criado com o nome docker-compose.yml, a sugestão seria criar uma pasta, dentro da pasta criar o ficheiro e executar os comandos a seguir.