代码查看工具_这样Review代码牛逼啦!
一個對項目負(fù)責(zé)的團(tuán)隊代碼質(zhì)量檢查是必不可少的,有條件的團(tuán)隊經(jīng)常有代碼review習(xí)慣,這樣可以使技術(shù)團(tuán)隊共同進(jìn)步,但是一個龐大的工程做代碼review其實是很麻煩的,所以就催生了很多的工具,今天我們就來通過工具來對代碼進(jìn)行掃描,通過發(fā)現(xiàn)問題并改進(jìn)問題,使我們的項目代碼更簡潔,修復(fù)隱藏bug。
什么是Sonarqube
Sonarqube 是一個用于代碼質(zhì)量管理的開放平臺。通過插件機制,Sonarqube 可以集成不同的測試工具,代碼分析工具,以及持續(xù)集成工具。
在對其他工具的支持方面,Sonarqube 不僅提供了對 IDE 的支持,可以在 Eclipse 和 IntelliJ IDEA 這些工具里聯(lián)機查看結(jié)果;同時 Sonarqube 還對大量的持續(xù)集成工具提供了接口支持,可以很方便地在持續(xù)集成中使用 Sonar。
簡單來說,Sonarqube就是一個代碼質(zhì)量檢測工具,可以通過搭建服務(wù)端和使用客戶端來對代碼進(jìn)行檢測,我們今天就來上手試試吧。
搭建Sonarqube服務(wù)器
因為小編環(huán)境是mac,還是選擇使用docker來搭建服務(wù)器環(huán)境把。
首先查找鏡像
docker?search?sonarqube然后pull鏡像
docker?pull?sonarqube如果使用傳統(tǒng)的搭建還得創(chuàng)建sonarqube需要的對應(yīng)數(shù)據(jù)庫的腳本再進(jìn)行關(guān)聯(lián),但是使用鏡像的話這些都內(nèi)嵌了。
好了開始通過鏡像啟動容器吧。
docker?run?-d?--name?sonarqube?-p?9000:9000?-p?9092:9092?sonarqube鏡像啟動后就可以訪問服務(wù)頁面了。
訪問地址:http://localhost:9000
點擊左側(cè)的Log in登錄,默認(rèn)的登錄用戶名密碼都是admin
這樣子服務(wù)端就安裝好了
客戶端使用
第一種姿勢 純idea插件查看
因為目前國內(nèi)大部分程序員都轉(zhuǎn)向Idea了,所以我們使用Idea來作為客戶端進(jìn)行項目代碼檢測。
首先就是插件的安裝。如圖所示,小白都看的懂,安裝插件SonarLint并重啟IDE
重啟之后就要配置客戶端連接的服務(wù)器了,服務(wù)器地址和賬號密碼填寫我們之前本地搭建的信息
點擊Next的時候會需要創(chuàng)建Token
點擊Create Token跳轉(zhuǎn)到我們生成Token的網(wǎng)頁,這里我們輸入admin創(chuàng)建Token
復(fù)制生成的Token到idea里面,填寫好即可
驗證和使用
接下來就是驗證使用了。我們在項目代碼目錄上右鍵
會有SonarLint這個選項,點擊第一個
可以看到代碼檢測愉快的跑起來了。
掃描結(jié)束以后,可以看到,很多不規(guī)范的代碼都被掃出來了。
隨便點開一個,比如說這個空方法
并且右側(cè)給出了對應(yīng)的修復(fù)示例參考
但不懂英文?沒關(guān)系啊 ,姿勢可不只有這一種!!!
第二種姿勢
那么這次我們使用管理臺+maven來看如何牛逼的使用它,
登錄管理臺,點擊Markerplace模塊,安裝中文包
安裝完成重啟服務(wù)
再次登錄,熟悉的中文是不是回來了呀!
然后在項目里面加入以下maven依賴
org.sonarsource.scanner.mavensonar-maven-plugin3.7.0.1746展開項目的Maven選項,雙擊運行,執(zhí)行完畢后就可以登錄管理臺查看了。
打開管理臺,你會發(fā)現(xiàn)產(chǎn)生了一個和你項目名一樣的項目,并且各種代碼質(zhì)量指標(biāo)都標(biāo)注的清清楚楚!!
我們點進(jìn)去,點開bug選項隨便一處,查看Bug
果然掃出來了一處可能出現(xiàn)bug的代碼,假設(shè)Get這個枚舉對象為null的話,下面的對象getId()方法肯定會出現(xiàn)空指針了。
我們再導(dǎo)入一個一個項目,寫幾個不規(guī)范的代碼,看看能不能掃出來。
果然是掃到了有異味的代碼。。。比如方法不規(guī)范拉,代碼里輸出日志不規(guī)范 了~
這里就不繼續(xù)陪大家看bug和異味的代碼了呀~
檢測出了代碼規(guī)范問題和bug漏洞咋辦,改唄~
改完以后就可以早點下班了~~
各位老鐵有空可以去嘗試玩一玩啊,據(jù)說經(jīng)常做代碼review的程序員下班都比普通程序員要早。
結(jié)尾
寫到結(jié)尾了,順便提一句,有人說為什么不用類似阿里巴巴規(guī)約掃描插件,其實在項目開發(fā)中也有在用,但是確實只能測試出來一部分阿里定義出來的代碼不規(guī)范問題,像漏洞和bug和這個就更不能比了,所以千萬別有杠精來跟我較勁比較了,我只能說,都用吧!!
寫到這里了,點贊轉(zhuǎn)發(fā)三連有么,為了你能早點下班~
- END -推薦閱讀:
代碼優(yōu)化實戰(zhàn):我又優(yōu)化了一百個if else!阿里內(nèi)部員工,排查Java問題常用的工具單優(yōu)秀的 Java 項目,代碼都是如何分層的?點擊閱讀原文,領(lǐng)取2020Java電子書資料(持續(xù)更新
總結(jié)
以上是生活随笔為你收集整理的代码查看工具_这样Review代码牛逼啦!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python对数据进行分类_在Pytho
- 下一篇: unix 只有root 可以使用chow