天天看點

代碼寫的垃圾被嫌棄?

今天推薦三個插件,它們都是代碼品質檢測的神器。可以掃描檢測出你項目中不符合規範的代碼,他們分别是 SonarLint、SonarQube、Alibaba代碼規約插件。

1.  SonarLint

SonarLint是一個代碼品質檢測插件,可以幫助我們檢測出代碼中的壞味道。

代碼寫的垃圾被嫌棄?
下載下傳與安裝
代碼寫的垃圾被嫌棄?

在需要檢測的單個檔案或者單個項目上右鍵 -> Analyze -> Analyze with SonarLint

或者選中檔案或目錄,點選菜單欄 Analyze -> Analyze with SonarLint

代碼寫的垃圾被嫌棄?
我們還可以禁用某些規則
代碼寫的垃圾被嫌棄?
如果需要同步自定義的規則時,可以綁定到 SonarQube
代碼寫的垃圾被嫌棄?
代碼寫的垃圾被嫌棄?
代碼寫的垃圾被嫌棄?
檢視檢測的結果
代碼寫的垃圾被嫌棄?
對于代碼中的警告我們不能視而不見
代碼寫的垃圾被嫌棄?

有了代碼品質檢測工具以後,在一定程度上可以保證代碼的品質,對于每一個問題,SonarLint 都給出了示例,還有相應的解決方案,教我們怎麼修改,極大的友善了我們的開發。

比如,對于日期類型盡量用 LocalDate、LocalTime、LocalDateTime,還有重複代碼、潛在的空指針異常、循環嵌套等等問題。

有了代碼規範與品質檢測工具以後,很多東西就可以量化了,比如bug率、代碼重複率等,還可以自定義各種名額,友善管理人員檢視。

為此,我們需要一個平台來記錄每次檢測分析的結果,這樣就可以進行分析和統計,并且可以直覺的看到這一切

于是,SonarQube 閃亮登場!

2.  SonarQube

SonarQube 是一個開源的代碼品質管理平台

代碼寫的垃圾被嫌棄?
代碼寫的垃圾被嫌棄?
代碼寫的垃圾被嫌棄?
代碼寫的垃圾被嫌棄?

解壓&本地啟動

具體開始參考文檔:

https://docs.sonarqube.org/latest/setup/get-started-2-minutes/

下載下傳下來這個工具,進行解壓執行:

unzip sonarqube-7.7.zip
cd sonarqube-7.7
bin/[OS]/sonar.sh consol
      
代碼寫的垃圾被嫌棄?

啟動成功後,通路 http://localhost:9000  用管理者賬号(admin/admin)登入

代碼寫的垃圾被嫌棄?

接下來,為了把檢測的結果傳到伺服器,我們需要配置一個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>
      

指令行執行:mvn clean compile sonar:sonar

成功後,可以在控制台中看到這樣的輸出:

代碼寫的垃圾被嫌棄?

再次重新整理 http://localhost:9000/ 會看到跟剛才不一樣了

代碼寫的垃圾被嫌棄?
代碼寫的垃圾被嫌棄?
代碼寫的垃圾被嫌棄?

以上隻是本地示範,在正式環境中這些資料當然要儲存到資料庫中,具體安裝就不示範了,下面是文檔:

https://docs.sonarqube.org/latest/setup/install-server/

3.  Alibaba代碼規約插件

阿裡代碼規範,相信大家都不陌生。IDEA 中安裝這個插件即可,同時如果需要更多優質 IDEA 插件推薦可以關注公衆号「Java後端」搜尋「IDEA」就可以找到相關的插件推薦文章了。

這是代碼規約插件安裝方式:

代碼寫的垃圾被嫌棄?

安裝了此插件,就可以進行掃描,檢測出你寫的 "壞"代碼。

代碼寫的垃圾被嫌棄?

看看效果:

繼續閱讀