Sonar

O SonarLint é uma ferramenta de inspeção estática que auxilia um programador na identificação e correções de problemas de codificação. O SonarLint está disponível para diversas IDEs (Integrated Development Environment) como por exemplo: VSCode, Eclipse, Intellij, entre outros e, possui um conjunto grande de regras para análise de código JavaScript, TypeScript, Python, Java, HTML, PHP, entre muitas outras. 😀

Utilizando uma variedade de regras e padrões de boas práticas de programação, o SonarLint verifica o código à medida que é digitado, destacando possíveis bugs, vulnerabilidades de segurança, violações de convenções de codificação e outras questões de qualidade de código. Isso permite que os desenvolvedores corrijam esses problemas imediatamente, enquanto estão escrevendo o código, o que ajuda a reduzir o tempo e os custos associados à identificação e correção de problemas mais tarde no ciclo de desenvolvimento.

SonarLint no VSCode 🖥️

Para instalar o SonarLint no VSCode, basta procurar o pacote no Marketplace e clicar no botão Install. Alternativamente, você pode utilizar o próprio Visual Studio Code para instalar o SonarLint por meio das extensões, nesse caso, pesquise por SonarLint que você encontrará a extensão para VSCode, a imagem abaixo ilustra esse processo:

SonarLint no VS Code
Figura 1 - Instalação do SonarLint no VSCode

Faça um teste para verificar se o SonarLint está configurado no seu VSCode. Primeiro, abra um terminal e digite o seguinte comando do Maven:

mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4

O comando acima é utilizado para criarmos um projeto Java simples a partir do Maven. Durante a criação do projeto, o Maven irá perguntar sobre o grupoId (uma identificação do seu projeto dentro de todos projetos Maven) e o artifactId (o nome do seu .jar sem a versão). Depois de escolher o grupoId e o artifactId, o Maven irá criar um diretório, utilize o comando code [nome do artifactId] para abrir o projeto no VSCode.

⚠️ Importante: para fazer esse teste, se certifique que o VSCode esteja instalado com as extensões do Java, caso não esteja, assista o início desse vídeo.

Uma vez que você tenha aberto o seu projeto no VSCode, procure a classe App.java dentro do diretório src e adicione o seguinte método:

public int foo(int a) {
  int b = 12;
  if (a == 1) {
    return b;
  }
  return b;  // Noncompliant
}

Se o SonarLint estiver rodando com sucesso, você verá um alerta conforme a figura abaixo: 👊

SonarLint no VS Code
Figura 2 - SonarLint no VSCode

O alerta ocorreu pois o método foo possui dois retornos, e a regra Methods returns should not be invariant foi acionada.

O SonarLint possui um conjunto grande de regras para análise de código, que podem ser utilizadas para identificar problemas de codificação. No caso de Java, por exemplo, atualmente o SonarLint possui mais de 600 regras divididas entre as categorias vulnerabilidades, defeitos, segurança e boas práticas. ⬆️

Exemplos de regras do SonarLint para Java 🚀

A seguir, listamos algumas das regras do SonarLint para Java:

Sonar Cloud 🌐

O Sonar Cloud é uma plataforma de análise de código hospedada na nuvem que permite que você verifique a qualidade do seu código com facilidade. O Sonar Cloud é uma ferramenta gratuita para projetos de código aberto e possui integração com o GitHub, Bitbucket e Azure DevOps. A plataforma oferece suporte a várias linguagens de programação, incluindo Java, JavaScript, TypeScript, Python, C#, C/C++, PHP, entre outras.

Configuração do Sonar Cloud no GitHub 🚀

Para configurar o Sonar Cloud no GitHub, siga os passos abaixo:

  1. Acesse o Sonar Cloud e faça login com a sua conta
  2. Clique em Create Project e escolha o repositório que você deseja analisar
  3. Clique em Set Up e siga as instruções para configurar o seu repositório

SonarQube 🌐

O SonarQube é uma plataforma de análise de código hospedada localmente que permite que você verifique a qualidade do seu código com facilidade. O SonarQube é uma ferramenta gratuita para projetos de código aberto e possui integração com o GitHub, Bitbucket e Azure DevOps. A plataforma oferece suporte a várias linguagens de programação, incluindo Java, JavaScript, TypeScript, Python, C#, C/C++, PHP, entre outras.

Questões 📚

Exercício Prático 🚀

Configure o SonarCloud em um dos seus repositórios no GitHub e faça um pull request para verificar a qualidade do seu código. 🤓

Lembre-se que o SonarCloud é uma ferramenta gratuita que suporta um número ilimitado de projetos de código aberto e linguagens de programação. 🌐

Referências 📚

Rodrigo Prestes Machado
CC BY 4.0 DEED

Copyright © 2024 RPM Hub. Distributed by CC-BY-4.0 license.