背景
公司java項目利用sonar平台進行代碼指標度量。比如復雜度、重復度、單測覆蓋和數量、壞味道、bugs;還是挺全乎的。
在sonar jar包使用過程中,看了一下輸出日志,涉及到幾個插件:
-
Pmd 它是一個基於靜態規則集的Java源碼分析器,它可以識別出潛在的如下問題:
– 可能的bug——空的try/catch/finally/switch塊。
– 無用代碼(Dead code):無用的本地變量,方法參數和私有方法。
– 空的if/while語句。
– 過度復雜的表達式——不必要的if語句,本來可以用while循環但是卻用了for循環。
– 可優化的代碼:浪費性能的String/StringBuffer的使用。 -
FindBugs 它用來查找Java代碼中存在的bug。它使用靜態分析方法標識出Java程序中上百種潛在的不同類型的錯誤。
-
Checkstyle 它定義了一系列可用的模塊,每一個模塊提供了嚴格程度(強制的,可選的…)可配置的檢查規則。規則可以觸發通知(notification),警告(warning)和錯誤(error)。
使用好這些工具,對於寫出高質量的代碼和良好的編碼習慣培養,是有很大幫助的。再者,最近一段時間很火的 《阿里java開發手冊》(網上資源很多,這里只是隨便找一個地址),里面也涉及到一些編碼上的問題。
接下來,記錄sonar與idea集成的相關步驟:
1、idea--plugns中查找sonarLint插件,並安裝;安裝完成后,重啟idea;
2、配置sonarlint插件:(我這里是編輯形式打開的彈窗,第一次添加時,是需要自己添加自己使用的sonar平台地址,一般是公司內部搭建的地址)
配置項目信息,在上面那個環節時,下面有個“UPdate bingding ”;看解釋就很清楚了。從服務器獲取項目列表、規則、配置等;必須在選擇項目前完成這事兒。
第二步,配置項目:
配置完成后,在當前項目環境下,idea的左下角就可以看到sonar擴展了:
至此,idea與sonar插件集成完畢。愉快的玩耍吧。