In che modo esattamente sonarQube è diverso da SonarLint? SonarQube ha un server associato e Sonar lint funziona più come un plugin. Ma quali sono le loro differenze specifiche?
In che modo esattamente sonarQube è diverso da SonarLint? SonarQube ha un server associato e Sonar lint funziona più come un plugin. Ma quali sono le loro differenze specifiche?
Risposte:
SonarLint vive solo nell'IDE (IntelliJ, Eclipse e Visual Studio). Il suo scopo è fornire un feedback istantaneo durante la digitazione del codice. Per questo, si concentra sul codice che stai aggiungendo o aggiornando.
SonarQube è un server centrale che elabora analisi complete (attivate dai vari scanner SonarQube). Il suo scopo è quello di dare una visione a 360 ° della qualità della tua base di codice. Per questo, analizza regolarmente tutte le linee di origine del progetto.
Sia SonarLint che SonarQube si basano sugli stessi analizzatori di codice sorgente statico, la maggior parte dei quali viene scritta utilizzando la tecnologia SonarSource.
Va aggiunto che SonarQube esegue anche scansioni con analizzatori di terze parti (findBugs, checkstyle, PMD) mentre SonarLint non li include. Penso che il motivo sia una priorità sulle prestazioni e findBugs che si basa sul codice byte java.
Di conseguenza, le tue scoperte in SonarQube e SonarLint possono variare, se il profilo di qualità sottostante utilizza scanner di terze parti.
SonarQube è un server dove puoi ospitare i tuoi progetti ed eseguire analisi, mentre SonarLint è un agente che ci permette di connetterci con questo SonarQube ed eseguire l'analisi da remoto. SonarLint può essere utilizzato con IDE o può anche essere eseguito tramite comandi CLI.
SonarLint contiene il proprio set di regole predefinite, ma quando è connesso a SonarQube, gli utenti possono importare regole da SonarQube che in realtà sono più di un semplice set di regole standard. Possiamo integrare PDM, CodeStyle e molti altri checker su SonarQube e creare regole personalizzate.
Due fatti che voglio menzionare che ho imparato dalla mia esperienza, SonarLint non erediterà quelle regole personalizzate da SonarQube, in secondo luogo Sonar non funziona sulle classi Test.
Sonarqube esegue le valutazioni delle regole sul server. L'abbiamo integrato nelle nostre build TFS. SonarLint viene eseguito nell'IDE, quindi prima di eseguire il commit del codice so quali linee stanno violando le regole all'interno dell'IDE.
SonarLint : viene utilizzato solo nell'IDE (IntelliJ, Eclipse e Visual Studio). Il suo scopo è fornire un feedback istantaneo durante la digitazione del codice.
SonarQube : è un server centrale che elabora analisi statiche complete. Il suo scopo è quello di dare una visione a 360 ° della qualità della tua base di codice. Per questo, analizza tutte le linee di origine del tuo progetto. Puoi configurare come analizzare i tuoi progetti.