這樣Review程式碼牛逼啦!
這樣Review程式碼牛逼啦!
一個對專案負責的團隊程式碼質量檢查是必不可少的,有條件的團隊經常有程式碼review習慣,這樣可以使技術團隊共同進步,但是一個龐大的工程做程式碼review其實是很麻煩的,所以就催生了很多的工具,今天我們就來通過工具來對程式碼進行掃描,通過發現問題並改進問題,使我們的專案程式碼更簡潔,修復隱藏bug。
什麼是Sonarqube
Sonarqube 是一個用於程式碼質量管理的開放平臺。通過外掛機制,Sonarqube 可以整合不同的測試工具,程式碼分析工具,以及持續整合工具。
在對其他工具的支援方面,Sonarqube 不僅提供了對 IDE 的支援,可以在 Eclipse 和 IntelliJ IDEA 這些工具裡聯機檢視結果;同時 Sonarqube 還對大量的持續整合工具提供了介面支援,可以很方便地在持續整合中使用 Sonar。
簡單來說,Sonarqube就是一個程式碼質量檢測工具,可以通過搭建服務端和使用客戶端來對程式碼進行檢測,我們今天就來上手試試吧。
搭建Sonarqube伺服器
因為小編環境是mac,還是選擇使用docker來搭建伺服器環境把。
首先查詢映象
docker search sonarqube
然後pull映象
docker pull sonarqube
如果使用傳統的搭建還得建立sonarqube需要的對應資料庫的指令碼再進行關聯,但是使用映象的話這些都內嵌了。
好了開始通過映象啟動容器吧。
docker run -d --name sonarqube -p 9000:9000 -p 9092:9092 sonarqube
映象啟動後就可以訪問服務頁面了。
點選左側的Log in登入,預設的登入使用者名稱密碼都是admin
這樣子服務端就安裝好了
客戶端使用
第一種姿勢 純idea外掛檢視
因為目前國內大部分程式設計師都轉向Idea了,所以我們使用Idea來作為客戶端進行專案程式碼檢測。
首先就是外掛的安裝。如圖所示,小白都看的懂,安裝外掛SonarLint
並重啟IDE
重啟之後就要配置客戶端連線的伺服器了,伺服器地址和賬號密碼填寫我們之前本地搭建的資訊
點選Next的時候會需要建立Token
點選Create Token
跳轉到我們生成Token的網頁,這裡我們輸入admin建立Token
複製生成的Token到idea裡面,填寫好即可
驗證和使用
接下來就是驗證使用了。我們在專案程式碼目錄上右鍵
會有SonarLint這個選項,點選第一個
可以看到程式碼檢測愉快的跑起來了。
掃描結束以後,可以看到,很多不規範的程式碼都被掃出來了。
隨便點開一個,比如說這個空方法
並且右側給出了對應的修復示例參考
但不懂英文?沒關係啊 ,姿勢可不只有這一種!!!
第二種姿勢
那麼這次我們使用管理臺+maven來看如何牛逼的使用它,
登入管理臺,點選Markerplace模組,安裝中文包
安裝完成重啟服務
再次登入,熟悉的中文是不是回來了呀!
然後在專案裡面加入以下maven依賴
<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>3.7.0.1746</version>
</plugin>
展開專案的Maven選項,雙擊執行,執行完畢後就可以登入管理臺查看了。
開啟管理臺,你會發現產生了一個和你專案名一樣的專案,並且各種程式碼質量指標都標註的清清楚楚!!
我們點進去,點開bug選項隨便一處,檢視Bug
果然掃出來了一處可能出現bug的程式碼,假設Get這個列舉物件為null的話,下面的物件getId()方法肯定會出現空指標了。
我們再匯入一個一個專案,寫幾個不規範的程式碼,看看能不能掃出來。
果然是掃到了有異味的程式碼。。。 比如方法不規範拉,程式碼裡輸出日誌不規範 了~
這裡就不繼續陪大家看bug和異味的程式碼了呀~
檢測出了程式碼規範問題和bug漏洞咋辦,改唄~
改完以後就可以早點下班了~~
各位老鐵有空可以去嘗試玩一玩啊,據說經常做程式碼review的程式設計師下班都比普通程式設計師要早。
結尾
寫到結尾了,順便提一句,有人說為什麼不用類似阿里巴巴規約掃描外掛,其實在專案開發中也有在用,但是確實只能測試出來一部分阿里定義出來的程式碼不規範問題,像漏洞和bug和這個就更不能比了,所以千萬別有槓精來跟我較勁比較了,我只能說,都用吧!!
寫到這裡了,點贊轉發三連有麼,為了你能早點下班~