SonarLint: Seu código com mais qualidade

Uma ferramenta importante para seu dia-a-dia

--

Designed by Pressfoto on Freeepik

Precisão, economia e pontualidade podem ser razões difíceis de defender dentro do seu time. Muitas vezes os mesmos erros ocorrem, gerando retrabalho e aumento do custo financeiro do projeto. O resultado disso é um problemão!

De acordo com a Regra de número 10, do livro “The Art of Software Testing” (Meyers,1979):

“Quanto mais cedo se descobre e corrige um erro, menor é seu custo para o desenvolvimento de uma aplicação”.

Onde queremos chegar?

O Code Review identifica coisas que as ferramentas de análise estática não são capazes de detectar, por exemplo, quando o programador entendeu errado os requisitos, quando o programador deixou de fora algo importante, trocou divisão por multiplicação, dentre outros. Aliar tal prática com uma ferramenta de análise estática irão garantir precisão, economia e pontualidade em seu projeto.

O SonarLint é uma extensão IDE que ajuda a detectar e corrigir problemas de qualidade ao escrever código. Como um corretor ortográfico, ele identifica o uso incorreto da linguagem e identifica também inconsistências de codificação. Além disso, o linter checa boas práticas, falhas de estruturação e te mostra sugestões atualizadas para os problemas encontrados.

Particularmente acho um plugin perfeito para code review e um linter maneiro para fazer análise estática!

Então, o que é um linter?

Segundo a Wikipedia:

“É uma ferramenta que analisa o código-fonte para sinalizar erros de programação, bugs, erros estilísticos e construções suspeitas.

Ele pode ser baixado e instalado direto na sua IDE, no meu caso uso no Intellij IDEA.

Conheci o que são análise estática e linters durante uma das aulas do curso do Júlio de Lima(#TSPI). Fiquei curioso, pesquisei algum linter que pudesse utilizar na IDE que uso (IntelliJ IDEA) e conheci o SonarLint.

Me apaixonei pelo plugin durante uma experiência onde estava revisando o código de uma aplicação que criei para estudar testes mobile. Quero compartilhar com vocês como esse linter pode te ajudar no dia-a-dia e como é simples a sua instalação. Ele ainda gera um relatório de todo o projeto para você, maneiro né?!

Vamos Instalar esse cara ?

No IntelliJ IDEA, clique em file, na guia superior da IDE e em seguida clique em Settings.

Imagem de um projeto pessoal testEmpresa

Após os passos anteriores, selecione a opção Plugins, no campo de busca digite Sonarlint e em seguida clique em Instalar.

Imagem de um projeto pessoal testEmpresa

Para finalizar a instalação é necessário reiniciar a IDE.

Usando o Linter

Clique com o botão direito em uma classe que queira realizar a utilização do linter, depois selecione as opções SonarLint e Analise SonarLint, respectivamente.

Imagem de um projeto pessoal testEmpresa

O SonarLint irá analisar o código e dará um feedback, visível na parte inferior da IDE. Nesse feedback o linter mostrará quais inconsistências foram encontradas e irá sugerir formas de resolver as falhas.

Imagem de um projeto pessoal testEmpresa

E se eu te disser que esse cara ainda tem o serviço em Cloud?

O SonarCloud é um serviço em nuvem oferecido pelo SonarSource e baseado no SonarQube. O SonarQube é uma plataforma de código aberto amplamente adotada para inspecionar continuamente a qualidade do código-fonte, detectar bugs e vulnerabilidades. Além disso, a plataforma está disponível em mais de vinte idiomas diferentes.

Configurando SonarCloud em um projeto

Acesse o site https://sonarcloud.io/ e cadastre-se com a sua conta do GitHub.
Após o cadastro, clique na opção My account, depois em security e em seguida crie um novo token. Sugiro criar com o nome do seu projeto para facilitar a associação do serviço com o seu repositório.

Imagem de um projeto pessoal testEmpresa

Feito isso, configure sua IDE para utilizar o SonarCould da seguinte forma:
Clique em File, Settings, Tools e SonarLint, respectivamente. Em seguida, marque a opção “Automatically Trigger Analysis”, em seguida, adicione uma nova conexão.

Imagem de um projeto pessoal testEmpresa

Após os passos anteriores, dê um nome para a nova conexão no campo “Configuration Name”, selecione a opção Sonarqube e preencha-a com o endereço https://sonarcloud.io em seu respectivo campo. Clique em next.

Imagem de um projeto pessoal testEmpresa

Selecione Token para a opção Authentication Type e preencha o campo do token com o que foi criado no site SonarCloud. Clique em Next.

Imagem de um projeto pessoal testEmpresa

Por fim, clique em finish.

Agora vamos configurar o SonarLint para o Projeto:

Clique em File, Setting, Tools, SonarLint e Project Settings, respectivamente. Marque a opção “Bind project to SonarQube/SonarCloud”.

No campo connection, selecione a conexão que criou anteriormente. Em seguida, clique em Search in list e selecione o seu projeto. Quando finalizar, clique em OK.

Imagem de um projeto pessoal testEmpresa

Pronto, seu projeto está configurado!

O SonarCloud te traz as linhas que podem ser corrigidas, te ajudando a fazer um code review com mais qualidade.

Imagem de um projeto pessoal testEmpresa

Sempre que você fizer um commit em seu projeto, o SonarCloud analisará automaticamente todo o código e irá gerar ou atualizar os relatórios. Você pode encontrar os dados gerados na seção “meus projetos” da pagina inicial do SonarCloud. Selecione o projeto e será aberta a tela abaixo.

Imagem de um projeto pessoal testEmpresa

Next up…

Com a utilização das práticas de code review alinhados ao uso de linters, problemas de prazo que tem como causa raiz o retrabalho são evitados, o que diminui também o custo do projeto.

Além disso, o SonarLint me ajudou bastante me mostrando algumas inconsistências e me dando algumas sugestões de melhoria no código.

Vocês usam algum Linter para fazer análise estática ou code review ? Usam ou gostariam de usar SonarLint ou SonarCloud ? Deixem nos comentários !!!

É isso ai galera se divirtam com essa ferramenta massa, e deem mais qualidade ao seus projetos!

Referências

Funcionalidade: Referênciar o que me ajudou a escrever esse artigo.

Cenário: Referências do meu primeiro artigo.

Dado que Júlio de Lima - #TSPI #LinkedIn me incentiva a escrever
Quando Leio Lars Vogel - Using SonarLint and SonarQube
E Documentação do SonarLint
E Conviso - Análise estática substitui a revisão de código?
E Gabriel Santos revisa com Excelência
Então meu primeiro artigo é publicado !

--

--