2016-10-03 267 views

回答

34

SonarLint只能在IDE(IntelliJ,Eclipse和Visual Studio)中生存。其目的是在您鍵入代碼時提供即時反饋。爲此,它專注於您添加或更新的代碼。

SonarQube是處理全分析中央服務器(由各個SonarQube掃描儀觸發)。其目的是爲您的代碼庫提供360°的視角。爲此,它定期分析項目的所有源代碼行。

兩個SonarLint和SonarQube依賴於相同的靜態源代碼分析 - 大部分使用SonarSource技術被寫入。

+0

Thanks @Fabrice!但是有一個後續問題。對於相同版本的代碼庫,我發現sonarqube和sonar lint的報告存在差異。這是導致我寫這個問題的原始問題。可能是什麼問題? –

+1

您應該將SonarLint「連接」到SonarQube並將本地項目(在IDE中)綁定到遠程項目(在SonarQube中),以確保您在兩個世界中都使用相同的質量配置文件(=規則集)。 –

+0

謝謝Fabrice。這也可能意味着不同的版本會有不同的規則集可以給出不同的報告嗎?就像對於相同版本的代碼庫,v5.6和v6.0報告之間可能有所不同。 –

5

應該補充一點,SonarQube還可以與第三方分析儀(findBugs,checkstyle,PMD)進行掃描,而SonarLint 不包括那些。我認爲原因是性能優先和依賴於java字節碼的findBugs。

從而SonarQube和SonarLint你的發現可以改變,如果底層質量配置文件使用第三方掃描儀。

+1

你是對的@guitarlum,主要原因不是你提到的那個,而是我們真正的事實相信SonarJava(由SonarSource開發的Java分析器)完全超過了PMD + Findbugs。 –