1. 程式人生 > >【程式碼質量管理工具】--使用sonarLint提高程式碼質量

【程式碼質量管理工具】--使用sonarLint提高程式碼質量

【背景】

       專案組,在12月份的時候使用了強大的程式碼質量管理工具--Sonar來檢測規範我們的程式碼,但是當時使用的時候會有一個缺陷,就是我每使用一次maven命令將程式碼掃描到sonarqube的網頁端,按照網頁端的分析提示來進行程式碼修改,修改完成之後,再次執行maven命令,進行分析,修改……如此,反覆的一個過程,直至我們的程式碼質量為優!當時專案組就有人提出來,每當在sonarqube中看到bug的時候,就想在網頁上直接修改程式碼,這樣及時生效,多方便呀!

       當時沒有怎麼研究這個東西,也就沒有當回事兒,後來在查詢sonarqube相關資料的時候發現了--sonarLint

一個IDE 的外掛,可以與sonarqube的服務端相連線,使用其所有的配置。我們不再使用maven命令,就可以在本地進行程式碼的修改,然後看到修改的效果。

【sonarlint簡介】

        SonarLint is an extension to your favorite IDE that provides on-the-fly feedback to developers on new bugs and quality issues injected into their code.

       The most important thing is :on-the-fly feedback--即時反饋

        其實,它就是一個外掛,我們可以在idea,eclipse, Visual Studio中下載此外掛來進行程式碼檢測。

【sonarlint的配置使用】

    一、下載sonarlint外掛

      下載外掛就不用詳細介紹了吧,相信經常使用eclipse的童鞋們都會下載。

       eclipse-->help-->Eclipse Marketplace--find(sonarlint)-->install,等待安裝完成即可。

     二、sonarlint配置

        首先將sonarlint的檢視調出來。

        eclipse-->Window-->Show View-->other-->SonarLint

        其中sonarlint有5個檢視,分別為:SonarQube Servers,SonarLint Issue Locations,SonarLint On-The-Fly,SonarLint Report,SonarLint Rule Description.

       (1)SonarQube Servers

        連線sonarqube服務,點選Connect to a Sonarqube server,補充完整URL,Name,Username,password,然後點選完成。

       

         OK,配置成功,sonarlint僅需要配置這一步,就可以使用sonarqube服務的所有配置。並且,如果sonarqube的服務配置有修改,sonarlint也會同步更改的。

       (2)sonarlint Report(可以顯示當前工程,或所有工程)

           程式碼不規範的事項列表

      點選每一項,即可跳到對應的程式碼上,進行相應事項的程式碼修改,儲存,sonarlint Report會自動檢測變更並重新整理列表。做到了即時反饋。

     (3)sonarqube Rule Description

       選擇sonarlint Report中的某一事項,右擊,選擇rule description.顯示出此事項的問題所在,以及正確的程式碼應該如何編寫等。就和我們在sonarqube頁面上看到的是一樣的。


    (4) sonarlint on-the -fly

       顯示的是當前開啟的檔案的不規範程式碼描述。

     (5) SonarLint Issue Locations

          顯示的是issue的具體位置。

          至此,和sonarlint相關的內容基本上介紹完了,我們就可以使用sonarlint高效規範我們的程式碼啦!當然,我們還可以,選中專案,右擊,選擇sonarlint-->anaylaze changed files,進行此專案所有程式碼的檢測。

【對比】

         eclipse中也有其他的一些外掛用來檢測程式碼質量的,例如checkstyle,findbugs,PMD等。其實,sonarqube是集成了這些外掛來進行程式碼規範檢測的。哪個功能強大,更方便就不用說了吧。

【總結】

sonarlint適用於開發人員開發時檢測自己的程式碼的,沒有強制要求,程式碼很可能會有一定的風險,所以下一步的目標就是,如果sonarlint檢測出來的程式碼有Major這樣的bug就不讓其提交程式碼,這樣能夠保證SVN伺服器上程式碼的質量。