web-dev-qa-db-fra.com

SonarQube et SonarLint différence

En quoi sonarQube est-il différent de SonarLint? SonarQube est associé à un serveur et Sonar lint fonctionne plutôt comme un plugin. Mais quelles sont leurs différences spécifiques?

60
Jeevan Varughese

SonarLint ne vit que dans le IDE (IntelliJ, Eclipse et Visual Studio). Son but est de donner un retour instantané lorsque vous tapez votre code. Pour cela, il se concentre sur le code que vous ajoutez ou mettez à jour.

SonarQube est un serveur central qui traite des analyses complètes (déclenchées par les différents scanneurs SonarQube). Son but est de donner une vision à 360 ° de la qualité de votre base de code. Pour cela, il analyse régulièrement toutes les lignes sources de votre projet.

SonarLint et SonarQube reposent tous deux sur les mêmes analyseurs de code source statique - la plupart d'entre eux étant écrits avec la technologie SonarSource.

Il convient d'ajouter que SonarQube effectue également des analyses avec des analyseurs tiers (findBugs, checkstyle, PMD), alors que SonarLint ne comprend pas les inclut. Je pense que la raison en est une priorité sur les performances et findBugs en s'appuyant sur Java byte-code.

Vos découvertes dans SonarQube et SonarLint peuvent donc varier si le profil de qualité sous-jacent utilise des scanners tiers.

19
guitarlum

SonarQube est un serveur sur lequel vous pouvez héberger vos projets et exécuter une analyse, tandis que SonarLint est un agent nous permettant de vous connecter à ce SonarQube et d'exécuter l'analyse à distance. SonarLint peut être utilisé avec IDE ou peut également être exécuté via des commandes CLI.

SonarLint contient son propre ensemble de règles par défaut, mais lorsqu'ils sont connectés à SonarQube, les utilisateurs peuvent importer des règles de SonarQube qui sont en réalité bien plus qu'un ensemble de règles standard. Nous pouvons intégrer PDM, CodeStyle et de nombreux autres vérificateurs sur SonarQube et créer des règles personnalisées.

Je veux mentionner deux faits que j'ai appris de mon expérience, SonarLint n'héritera pas de ces règles personnalisées de SonarCube, deuxièmement, Sonar ne fonctionne pas sur les classes de test.

3
yug

Sonarqube exécute les validations de règles sur le serveur. Nous l'avons intégré à nos versions TFS. SonarLint est exécuté dans le IDE, donc avant de valider mon code, je sais quelles lignes ne respectent pas les règles de l'EDI.

0
Jeff Schreib