Wie genau unterscheidet sich sonarQube von SonarLint? Mit SonarQube ist ein Server verknüpft, und Sonar Lint funktioniert eher wie ein Plugin. Aber was ist ihr spezifischer Unterschied?
Wie genau unterscheidet sich sonarQube von SonarLint? Mit SonarQube ist ein Server verknüpft, und Sonar Lint funktioniert eher wie ein Plugin. Aber was ist ihr spezifischer Unterschied?
Antworten:
SonarLint lebt nur in der IDE (IntelliJ, Eclipse und Visual Studio). Der Zweck besteht darin, während der Eingabe Ihres Codes sofortiges Feedback zu geben. Dazu konzentriert es sich darauf, welchen Code Sie hinzufügen oder aktualisieren.
SonarQube ist ein zentraler Server, der vollständige Analysen verarbeitet (ausgelöst durch die verschiedenen SonarQube-Scanner). Ziel ist es, eine 360 ° -Ansicht der Qualität Ihrer Codebasis zu geben. Zu diesem Zweck werden regelmäßig alle Quellzeilen Ihres Projekts analysiert.
Sowohl SonarLint als auch SonarQube basieren auf denselben statischen Quellcode-Analysatoren - die meisten davon werden mit der SonarSource-Technologie geschrieben.
Es sollte hinzugefügt werden, dass SonarQube auch Scans mit Analysatoren von Drittanbietern (findBugs, checkstyle, PMD) durchführt, während SonarLint diese nicht enthält. Ich denke, der Grund ist eine Priorisierung der Leistung und findBugs, die auf Java-Bytecode basieren.
Dabei können Ihre Ergebnisse in SonarQube und SonarLint variieren, wenn das zugrunde liegende Qualitätsprofil Scanner von Drittanbietern verwendet.
SonarQube ist ein Server, auf dem Sie Ihre Projekte hosten und Analysen ausführen können, während SonarLint ein Agent ist, mit dem wir eine Verbindung zu diesem SonarQube herstellen und die Analyse remote ausführen können. SonarLint kann mit IDE verwendet oder auch über CLI-Befehle ausgeführt werden.
SonarLint enthält einen eigenen Satz von Standardregeln. Wenn Benutzer jedoch mit SonarQube verbunden sind, können sie Regeln aus SonarQube importieren, die eigentlich mehr als nur Standardregeln sind. Wir können PDM, CodeStyle und viele andere Prüfer in SonarQube integrieren und benutzerdefinierte Regeln erstellen.
Zwei Fakten, die ich erwähnen möchte, die ich aus meiner Erfahrung gelernt habe: SonarLint erbt diese benutzerdefinierten Regeln nicht von SonarQube, zweitens funktioniert Sonar nicht in Testklassen.
Sonarqube führt die Regelbewertungen auf dem Server aus. Wir haben sie in unsere TFS-Builds integriert. SonarLint wird in der IDE ausgeführt. Bevor ich meinen Code festschreibe, weiß ich, welche Zeilen gegen welche Regeln in der IDE verstoßen.