Do Zero: Sonarlint - para que serve esse plugin e por que você não vai mais viver sem ele
Isa Giongo
Posted on July 28, 2020
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.
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".
No IntelliJ, vá em "File", "Settings", "Plugins" e busque por Sonarlint e clique em "Install".
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!
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").
E por fim, a cereja do bolo 🍒🍰: A forma de como corrigir esse código, com um exemplo que não causaria mais bugs.
Então, me aproveitando dessa dica do Sonarlint, vou corrigir meu código, sendo o resultado final este:
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?!🧙♀️
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
July 28, 2020