¿En qué se diferencia exactamente sonarQube de SonarLint? SonarQube tiene un servidor asociado y Sonar lint funciona más como un complemento. Pero, ¿cuáles son sus diferencias específicas?
¿En qué se diferencia exactamente sonarQube de SonarLint? SonarQube tiene un servidor asociado y Sonar lint funciona más como un complemento. Pero, ¿cuáles son sus diferencias específicas?
Respuestas:
SonarLint vive solo en el IDE (IntelliJ, Eclipse y Visual Studio). Su propósito es brindar retroalimentación instantánea a medida que escribe su código. Para ello, se concentra en qué código está agregando o actualizando.
SonarQube es un servidor central que procesa análisis completos (activados por los diversos escáneres SonarQube). Su propósito es brindar una visión de 360 ° de la calidad de su código base. Para ello, analiza todas las líneas fuente de su proyecto de forma periódica.
Tanto SonarLint como SonarQube se basan en los mismos analizadores de código fuente estático, la mayoría de ellos escritos con la tecnología SonarSource.
Debe agregarse que SonarQube también realiza escaneos con analizadores de terceros (findBugs, checkstyle, PMD) mientras que SonarLint no los incluye. Creo que la razón es una priorización en el rendimiento y findBugs que se basan en el código de bytes de Java.
Por lo tanto, sus hallazgos en SonarQube y SonarLint pueden variar, si el perfil de calidad subyacente utiliza escáneres de terceros.
SonarQube es un servidor donde puedes alojar tus proyectos y ejecutar análisis, mientras que SonarLint es un agente que nos permite conectarnos con este SonarQube y ejecutar el análisis de forma remota. SonarLint se puede utilizar con IDE o también se puede ejecutar mediante comandos CLI.
SonarLint contiene su propio conjunto de reglas predeterminadas, pero cuando se conecta a SonarQube, los usuarios pueden importar reglas de SonarQube, que en realidad son más que un conjunto de reglas estándar. Podemos integrar PDM, CodeStyle y muchos otros verificadores en SonarQube y crear reglas personalizadas.
Dos hechos que quiero mencionar que aprendí de mi experiencia, SonarLint no heredará esas reglas personalizadas de SonarQube, en segundo lugar, Sonar no funciona en las clases de prueba.
Sonarqube ejecuta las validaciones de reglas en el servidor. Lo integramos a nuestras compilaciones TFS. SonarLint se ejecuta en el IDE, por lo que antes de enviar mi código, sé qué líneas violan qué reglas dentro del IDE.