檢測代碼質(zhì)量的 3 款神器,好用到爆!
今天推薦三個插件,它們都是代碼質(zhì)量檢測的神器。可以掃描檢測出你項目中不符合規(guī)范的代碼,他們分別是 SonarLint、SonarQube、Alibaba 代碼規(guī)約插件。
1. SonarLint
SonarLint 是一個代碼質(zhì)量檢測插件,可以幫助我們檢測出代碼中的壞味道。
img
下載與安裝
img
在需要檢測的單個文件或者單個項目上右鍵 -> Analyze -> Analyze with SonarLint
或者選中文件或目錄,點擊菜單欄 Analyze -> Analyze with SonarLint
img
我們還可以禁用某些規(guī)則
另外,如果你近期準備面試跳槽,建議在 Java面試庫 小程序在線刷題,涵蓋 2000+ 道 Java 面試題,幾乎覆蓋了所有主流技術(shù)面試題。
img
如果需要同步自定義的規(guī)則時,可以綁定到 SonarQube
img
img
img
查看檢測的結(jié)果
img
對于代碼中的警告我們不能視而不見
img
有了代碼質(zhì)量檢測工具以后,在一定程度上可以保證代碼的質(zhì)量,對于每一個問題,SonarLint 都給出了示例,還有相應(yīng)的解決方案,教我們怎么修改,極大的方便了我們的開發(fā)。
比如,對于日期類型盡量用 LocalDate、LocalTime、LocalDateTime,還有重復(fù)代碼、潛在的空指針異常、循環(huán)嵌套等等問題。
有了代碼規(guī)范與質(zhì)量檢測工具以后,很多東西就可以量化了,比如bug率、代碼重復(fù)率等,還可以自定義各種指標,方便管理人員查看。
為此,我們需要一個平臺來記錄每次檢測分析的結(jié)果,這樣就可以進行分析和統(tǒng)計,并且可以直觀的看到這一切
于是,SonarQube 閃亮登場!
2. SonarQube
SonarQube 是一個開源的代碼質(zhì)量管理平臺
img
img
img
img
解壓&本地啟動
具體開始參考文檔:
https://docs.sonarqube.org/latest/setup/get-started-2-minutes/
下載下來這個工具,進行解壓執(zhí)行:
unzip sonarqube-7.7.zip
cd sonarqube-7.7
bin/[OS]/sonar.sh consol
img
啟動成功后,訪問 http://localhost:9000 用管理員賬號(admin/admin)登錄
img
接下來,為了把檢測的結(jié)果傳到服務(wù)器,我們需要配置一個Scanner,具體參考文檔:
https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Maven
這里我在項目中添加 sonar-maven-plugin 插件
<build>
<plugins>
<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>3.6.0.1398</version>
</plugin>
</plugins>
</build>
命令行執(zhí)行:mvn clean compile sonar:sonar
成功后,可以在控制臺中看到這樣的輸出:
img
再次刷新 http://localhost:9000/ 會看到跟剛才不一樣了
img
img
img
以上只是本地演示,在正式環(huán)境中這些數(shù)據(jù)當然要保存到數(shù)據(jù)庫中,具體安裝就不演示了,下面是文檔:
https://docs.sonarqube.org/latest/setup/install-server/
3. Alibaba代碼規(guī)約插件
阿里代碼規(guī)范,相信大家都不陌生。IDEA 中安裝這個插件即可。
這是代碼規(guī)約插件安裝方式:
img
安裝了此插件,就可以進行掃描,檢測出你寫的 "壞"代碼。
好文分享
1. 為什么反復(fù)強調(diào)組合要優(yōu)先于繼承?
5. 妙用 Java 8 Function 接口,消滅 if...else
更多關(guān)注公眾號 ? Java核心技術(shù)
點擊 閱讀原文 獲取免費資料~
