靜態代碼掃描工具 - (一)sonarQube介紹


1、為什么要用sonarQube?

 

在我們的日常軟件開發工作當中,隨着項目時間變長,開發人員編寫的代碼量也會越來越多。

長此以往,會面臨代碼量龐大,卻無法橫量整體代碼質量?若是要優化,也不知道如何優化。

 

 

 

 

 


針對這些問題,出現了各種各樣的工具,比如:

java語言的Checkstyle,FindBugs,PMD,Jtest等,幫助檢測代碼編寫規范上存在的問題和漏洞

python語言的Pyflakes,Pylint,pep8等。

C#語言的FxCop、StyleCop等。

通過這些工具掃描的結果分析后,根據結果來優化代碼問題,以提高代碼質量。

 

以上這些工具都是 代碼的靜態掃描分析 工具。

所謂靜態代碼分析,就是針對開發人員編寫的源代碼,在不運行的情況下,僅通過分析或檢查源程序的語法、結構、過程、接口等來檢查程序的正確性,找出代碼隱藏的錯誤和缺陷。

 

在單獨使用以上這些工具時,我們會面臨:

1、需要一個平台,能夠匯總呈現不同語言的項目、不同工具的掃描結果

2、需要一個平台,可以友好的呈現或者追溯,一段時間內每一次掃描的結果的差異。


sonarQube就是這樣的一個平台,

1)支持多種語言的靜態代碼掃描。

2)多維護呈現項目代碼的質量狀態。



2、sonarQube是什么?

 

1、代碼質量和安全掃描和分析平台。

2、多維度分析代碼:代碼量、安全隱患、編寫規范隱患、重復度、復雜度、代碼增量、測試覆蓋率等。

3、支持25+編程語言的代碼掃描和分析,包含java\python\C#\javascript\go\C++等。

4、涵蓋了編程語言的靜態掃描規則: 代碼編寫規范+安全規范。

5、能夠與代碼編輯器、CI/CD平台完美集成。

6、能夠與SCM集成,可以直接在平台上看到代碼問題是由哪位開發人員提交。

7、幫助程序猿寫出更干凈、更安全的代碼。

 

靜態掃描主要針對開發人員編寫的源代碼。

通過定義好的 代碼質量和安全規則,對開發人員編寫的代碼進行掃描和分析。

將分析的結果多維護的呈現出來,以方便開發人員進行代碼的優化和規范編寫。



3、sonarQube如何工作?

sonar靜態代碼掃描由2部分組成:sonarQube平台,sonar-scanner掃描器。

sonarQube: web界面管理平台。

​ 1)展示所有的項目代碼的質量數據。

​ 2)配置質量規則、管理項目、配置通知、配置SCM等。

sonarScanner: 代碼掃描工具。

​ 專門用來掃描和分析項目代碼。支持20+語言。

​ 代碼掃描和分析完成之后,會將掃描結果存儲到數據庫當中,在sonarQube平台可以看到掃描數據。


sonarQube和sonarScanner之間的關系:

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM