Como exatamente o sonarQube é diferente do SonarLint? O SonarQube tem um servidor associado a ele e o Sonar lint funciona mais como um plugin. Mas quais são suas diferenças específicas?
Como exatamente o sonarQube é diferente do SonarLint? O SonarQube tem um servidor associado a ele e o Sonar lint funciona mais como um plugin. Mas quais são suas diferenças específicas?
Respostas:
SonarLint reside apenas no IDE (IntelliJ, Eclipse e Visual Studio). Seu objetivo é fornecer feedback instantâneo enquanto você digita seu código. Para isso, ele se concentra em qual código você está adicionando ou atualizando.
SonarQube é um servidor central que processa análises completas (acionadas por vários scanners SonarQube). Seu objetivo é dar uma visão 360 ° da qualidade de sua base de código. Para isso, analisa regularmente todas as linhas de origem do seu projeto.
Tanto o SonarLint quanto o SonarQube contam com os mesmos analisadores de código-fonte estático - a maioria deles escritos com a tecnologia SonarSource.
Deve-se acrescentar que o SonarQube também realiza varreduras com analisadores de terceiros (findBugs, checkstyle, PMD), enquanto o SonarLint não os inclui. Acho que o motivo é uma priorização no desempenho e findBugs que dependem do código de bytes java.
Assim, suas descobertas no SonarQube e no SonarLint podem variar, se o perfil de qualidade subjacente usar scanners de terceiros.
SonarQube é um servidor onde você pode hospedar seus projetos e executar análises, enquanto SonarLint é um agente que nos permite conectar com este SonarQube e executar a análise remotamente. SonarLint pode ser usado com IDE ou também pode ser executado via comandos CLI.
SonarLint contém seu próprio conjunto de regras padrão, mas quando conectado ao SonarQube, os usuários podem importar regras do SonarQube que são, na verdade, mais do que apenas um conjunto de regras padrão. Podemos integrar PDM, CodeStyle e muitos outros verificadores no SonarQube e criar regras personalizadas.
Quero mencionar dois fatos que aprendi com minha experiência: o SonarLint não herdará essas regras personalizadas do SonarQube; em segundo lugar, o Sonar não funciona em classes de teste.
Sonarqube executa as valiações de regras no servidor. Nós o integramos às nossas compilações TFS. O SonarLint é executado no IDE, portanto, antes de enviar meu código, sei quais linhas estão violando quais regras dentro do IDE.