SonarLint zeigt nicht alle Datensätze im Vergleich zum referenzierten SonarQube-Server an

8

Wir verwenden SonarQube Server 5.3 mit SonarLint 2.0 im verbundenen Modus. Als IDE verwenden wir Eclipse Mars 2.0 und wenn wir Ergebnisse von SonarQube-Server mit Ergebnissen von SonarLint in IDE vergleichen, unterscheiden sich die Ergebnisse (Beispieldatei 274 Fehler in IDE , 826 Probleme in SonarQube ! ).

Eine der üblichen Unterscheidungen ist, dass "Variable als endgültig deklariert werden kann".

Auch einer meiner Kollegen, der SonarLint für IntelliJIdea verwendet, hat ähnliche Probleme (Idea Version 2016.1.1, SonarLint 2.0.2, Beispieldatei - wie für den Vergleich in IDE 293 Fehlern ) .

Ich frage mich, warum es solche Unterschiede gegen den Server und sogar zwischen IDEs gibt.

Könnte mir jemand dabei helfen? Danke.

    
Uhla 11.05.2016, 09:28
quelle

3 Antworten

10

Ich stehe vor einem ähnlichen Problem, illustriert durch dieses Beispiel: SonarLint 2.0.2: 99 Probleme. SonarQube 5.4 UI: 116 Probleme. Unterschiede verursacht durch 2 Regeln, die zum Checkstyle Plugin gehören.

Wenn Sie davon sprechen, dass "Variable endgültig sein könnte", gehe ich davon aus, dass die Regel hinter Ihren fehlenden Problemen pmd: LocalVariableCouldBeFinal ist, die zum PMD-Plugin gehört.

Fabrice hat in der SonarQube Google Group zu diesem Thema kommentiert. "fügt keine Unterstützung für externe Suchmaschinen hinzu" : SonarQube Google Group (dies gilt für PMD, Checkstyle, Findbugs und andere ...)

Leider können wir nur Regeln verwenden, die in SonarLint-Regelliste , die von SonarQube bereitgestellt werden (dh ihr Java-Plugin).

    
Jan S. 12.05.2016, 10:35
quelle
6

Zunächst führt SonarQube eine vollständige Analyse Ihres Projekts durch, während SonarLint nur die geöffneten Dateien analysiert. Ich weiß also nicht wirklich, wie der Vergleich der Ausgabenanzahl sinnvoll sein kann (es sei denn, Sie haben alle Dateien einzeln in Eclipse geöffnet).

Zweitens gibt es einige bekannte Gründe, warum SonarLint weniger oder mehr Probleme als SonarQube zeigt:

  • Einige Regeln, die auf Metriken basieren, werden nur in SonarQube berechnet. Zum Beispiel:
    • Unzureichende (Zeilen- oder Zweig-) Abdeckung
    • Unzureichende Kommentardichte
    • Duplizierter Code
  • Möglicherweise haben Sie Problemausschlüsse für SonarQube definiert, die in SonarLint noch nicht berücksichtigt wurden
    • Aber das wird bald kommen
  • Möglicherweise haben Sie in SonarQube Quellcodeausschlüsse definiert, die in SonarLint noch nicht berücksichtigt wurden
    • Aber das wird bald kommen
quelle
-1

Wenn Sie nur auf das Projekt klicken, wird es nicht funktionieren. Sie müssen in das Projekt gehen und auf die Java-Dateien klicken. Sobald Sie auf die Java-Dateien im Projekt klicken, wird SonarLint aktiviert und zeige dir alle Fehler, die vorhanden sind. Es funktionierte für mich

    
Vishal Jaiswal 25.04.2017 06:20
quelle