Do Zero: Sonarlint - para que serve esse plugin e por que você não vai mais viver sem ele

isagiongo

Isa Giongo

Posted on July 28, 2020

Do Zero: Sonarlint - para que serve esse plugin e por que você não vai mais viver sem ele

Se você está iniciando agora no mundo do desenvolvimento de software, provavelmente já deve ter a sua IDE escolhida e devidamente instalada, certo? Caso não tenha ainda (e talvez nem saiba o que é e para que serve), dá uma olhada nesse artigo introdutório aqui e também em algumas opções para Java aqui.

Com sua IDE já à postos, chegou a hora de conhecer um plugin que é muito útil e até, eu diria, essencial para nos auxiliar a escrever código com qualidade - o Sonarlint.

A grande vantagem dessa ferramenta é que ela nos ajuda a ver e a corrigir pontos negativos que talvez nem saibamos ainda que estão habitando nosso código: como possíveis bugs, nullpointers, condições desnecessárias e tudo aquilo que pode gerar códigos mal escritos e com problemas de qualidade.
gif dog surpreso

Outra boa notícia acerca do Sonarlint, é que ele pode ser utilizado nas mais famosas IDE's, como por exemplo, Eclipse, IntelliJ e VS Code. E também, ele não está restrito a linguagem Java (minha queridinha 💘 ), mas também trabalha com Javascript, Python, Kotlyn, Ruby, Php, C#, dependendo da IDE escolhida.

A instalação é muito simples e rápida:

  • No Eclipse, basta ir no menu Help e Eclipse Marketplace. Buscar "Sonarlint" e clicar em "Install".
    Instalação Eclipse

  • No IntelliJ, vá em "File", "Settings", "Plugins" e busque por Sonarlint e clique em "Install".
    Instalação IntelliJ

Nos dois casos, será necessário reiniciar a IDE para a alteração ser aplicada e o plugin funcionar efetivamente.

O Sonarlint é um detector, em tempo real, de códigos fedidos - que geram dificuldades de manutenção (leia mais aqui - em inglês), bugs 🐛 e vulnerabilidades. Para essas categorias, temos também o nível de severidade dos problemas, que são: Minor, Major, Critical e Blocker.

Em seu trabalho, o Sonarlint, sinaliza o trecho de código a ser corrigido/melhorado e ainda fornece uma explicação para o problema e como corrigí-lo, mostrando exemplos de código que não estão em conformidade com a regra e o exemplo de código em conformidade, isto é, a forma mais adequada de escrever aquele trecho. Mas são apenas sugestões, e não segui-las não quer dizer que seu código não irá funcionar da mesma forma.

Vamos ver um exemplo abaixo:

  • Nesse caso, temos um teste que tem a intenção de validar se dois nomes (do tipo String) são iguais. Porém, estou usando para comparar o firstName e o secondName o operador de igualdade == . Nesse exemplo, meu teste não está passando, mesmo com os dois nomes tendo valores iguais. 😞 O que pode estar acontecendo???

Imediatamente, o Sonarlint me alerta que algo errado não está certo!
Código com bug

Logo abaixo, na aba do Sonarlint, temos mais informações: Ele me mostra uma breve descrição da regra, com o seu tipo, que nesse caso seria um "bug" e com o nível de severidade "Major". (Caso não esteja visualizando a aba do Sonarlint, você pode acessá-la no IntelliJ indo no menu "View", "Tool Windows", "Sonarlint". E no Eclipse, no menu "Window", "Show view", "Other...", "Sonarlint").
Regra no sonarlint

E por fim, a cereja do bolo 🍒🍰: A forma de como corrigir esse código, com um exemplo que não causaria mais bugs.
Dica para correção

Então, me aproveitando dessa dica do Sonarlint, vou corrigir meu código, sendo o resultado final este:
Código corrigido

Além desse exemplo acima, o Sonarlint dá muitas dicas para deixar seu código sem bugs, mais legível e com qualidade. Se quiser uma lista completa das regras que ele aponta, clica aqui.

Esse plugin é ou não é maravigold?!🧙‍♀️

💖 💪 🙅 🚩
isagiongo
Isa Giongo

Posted on July 28, 2020

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related