本文內容概要
本文介紹了IDEA SonarLint插件的裝,以及配置SonarLint使用 SonarQube的規則.
注意:不含有SonarQube安裝和使用.
代碼管理Sonar和SonarLint簡介
Sonar簡介摘自sonar百度百科
Sonar(代碼質量管理平台)是一個開源平台,用於管理Java源代碼的質量。從 Sonar 1.6 版本開始,Sonar從一個質量數據報告工具,轉變成為的代碼質量管理平台。
主要特點
代碼覆蓋:通過單元測試,將會顯示哪行代碼被選中
改善編碼規則
搜尋編碼規則:按照名字,插件,激活級別和類別進行查詢
項目搜尋:按照項目的名字進行查詢
對比數據:比較同一張表中的任何測量的趨勢
SonarLint,官網地址https://www.sonarlint.org/
Fix issues before they exist
SonarLint is an IDE extension that helps you detect and fix quality issues as you write code.
Like a spell checker, SonarLint squiggles flaws so that they can be fixed before committing code.
蹩腳的翻譯
在問題出現前就修復
SonarLint 是一個IDE的擴展插件,幫助發現和修復你所寫的代碼質量問題.
就像一個拼寫檢查器,SonarLint可以(協助你)在代碼提交前就暴露修復問題.
官方網站首頁也有視頻介紹,可以自行觀看進行簡單了解.
SonarLint使用初步體驗:
1SonarLint發現的問題后,會根據問題類型給出推薦的的范例代碼協助開發人員找到合適的修改思路.
2但是默認規則從代碼規范,命名,可以省略不必要代碼,方法邏輯復雜度等多個維度進行規范評估,給出信息種類過於多,試用之后,根據需要先定制下使用哪些規則,才更好有針對性的使用.
3錯誤發現有時候不如FindBugs.
見下圖iqtAnalysisTsmMap是一個key類型是String的Map,KeySB是StringBuffer類型.SonarLint沒有發現這個BUG Map<String, IqtAnalysisTsm> iqtAnalysisTsmMap = new HashMap<>();
Map<String, IqtAnalysisTsm> iqtAnalysisTsmMap = new HashMap<>(); StringBuilder keySB = new StringBuilder(); if(iqtAnalysisTsmMap.containsKey(keySB)){ //TODO: }
不過SonarLint發現了我寫的 兩個Double類型變量 ==比較的用法錯誤.建議我改為equal.
IDEA安裝插件SonarLint
注:本文使用的IDEA版本:IntelliJ IDEA 2018.2.7 (Ultimate Edition)
打開IDEA插件安裝界面.
默認快捷鍵Ctrl+Alt+S.或者鼠標點擊菜單File->Settings…
在左上角紅框可以輸入plugins幾個字符,快速過濾,鼠標點擊下面過濾出來的Plugins菜單,在點擊右下紅框 Browes repositeries…
再彈出窗口搜索框里輸入sonar,選中SonarLint,再點擊頁面右邊的綠底色Install按鈕
之后等待安裝完畢.在IDEA底部會有安裝進度
如果網絡不好出現如下提示的話.
- 等網絡穩定再次嘗試重新安裝.
- 設置插件安裝的代理服務器
按下圖紅框操作
根據自己的代理情況,選擇合適的配置開啟插件安裝的代理模式.
-----------------------------------------------------------------------感覺跟着流程跟進,現在有點懵,更多詳細的請觀看:https://blog.csdn.net/baixf/article/details/88534198-------------------------------------------意願就是想留着,怕客友誤刪,不就什么都沒有了-----------------