代碼審查晌端,從己做起——使用阿里巴巴Java編碼規(guī)范插件

Code Review在項(xiàng)目開發(fā)中是一個(gè)老生常談的問題般码,作為項(xiàng)目成員,你是否有過很多次想做Code Review卻最終沒有做的遺憾磁餐?因?yàn)闃I(yè)務(wù)復(fù)雜、項(xiàng)目進(jìn)度緊張等原因耽擱了,想找組內(nèi)成員幫忙review下镐捧,偏偏有時(shí)候大家都很忙,導(dǎo)致本該開發(fā)做的事情錯(cuò)過了臭增,只能在以后想辦法彌補(bǔ)懂酱,但現(xiàn)實(shí)情況卻是很多時(shí)候可能只是想想。

實(shí)際上誊抛,無論其他同事是否能幫助自己做代碼檢查列牺,我們首先要保證的是自己開發(fā)的代碼在基本層面沒有問題,這里面不談業(yè)務(wù)邏輯問題拗窃,先看代碼編寫質(zhì)量的問題瞎领。除了根據(jù)自己的開發(fā)經(jīng)驗(yàn)發(fā)現(xiàn)代碼存在的問題以外,有時(shí)候我們需要借助一些工具來幫助我們做代碼檢查随夸,正所謂“工欲善其事九默,必先利其器”。在業(yè)界《阿里巴巴Java開發(fā)手冊(cè)》應(yīng)該是編程規(guī)范的標(biāo)桿了宾毒,對(duì)應(yīng)這本書阿里還開發(fā)一個(gè)插件驼修,這個(gè)插件應(yīng)該是這本書的踐行版了。


8.目錄

1.插件介紹

官方介紹如下:

為了讓開發(fā)者更加方便、快速將規(guī)范推動(dòng)并實(shí)行起來乙各,阿里巴巴基于手冊(cè)內(nèi)容勉躺,研發(fā)了一套自動(dòng)化的IDE檢測(cè)插件(IDEA、Eclipse)觅丰。該插件在掃描代碼后饵溅,將不符合規(guī)約的代碼按Blocker/Critical/Major三個(gè)等級(jí)顯示在下方,甚至在IDEA上妇萄,我們還基于Inspection機(jī)制提供了實(shí)時(shí)檢測(cè)功能蜕企,編寫代碼的同時(shí)也能快速發(fā)現(xiàn)問題所在。對(duì)于歷史代碼冠句,部分規(guī)則實(shí)現(xiàn)了批量一鍵修復(fù)的功能轻掩,如此爽心悅目的功能是不是很值得擁有?提升代碼質(zhì)量懦底,提高團(tuán)隊(duì)研發(fā)效能唇牧,插件將會(huì)一路同行。

用了這個(gè)插件聚唐,可以幫助我們做最基本的代碼審查丐重,使Java開發(fā)更高效,提高代碼開發(fā)質(zhì)量并降低代碼維護(hù)成本杆查。即使我們有時(shí)間進(jìn)行代碼檢查扮惦,安裝了這個(gè)插件也可以讓代碼檢查事半功倍。

2.插件安裝

插件鏈接點(diǎn)擊IDEA插件鏈接亲桦,Eclipse插件鏈接崖蜜,本文主要介紹IDEA插件的安裝。

1.在IDEA插件管理界面搜索“Alibaba Java Coding Guidelines”客峭,點(diǎn)擊Install進(jìn)行安裝豫领。

1.插件安裝

2.在菜單tool下,可以看到新安裝的這個(gè)插件舔琅,可以開啟或者關(guān)閉等恐,還可以切換語(yǔ)言。

2.開關(guān)

3.插件使用

3.1 插件檢測(cè)模式

a.實(shí)時(shí)檢測(cè)
打開實(shí)時(shí)開關(guān)搏明,實(shí)時(shí)檢測(cè)功能就會(huì)對(duì)在開發(fā)的代碼進(jìn)行實(shí)時(shí)檢測(cè)鼠锈。如果有不規(guī)范的語(yǔ)句,
就會(huì)出現(xiàn)錯(cuò)誤提示星著。

3.實(shí)時(shí)檢測(cè)

使用場(chǎng)景:新項(xiàng)目開發(fā)
b.手動(dòng)檢測(cè)

  • 按項(xiàng)目檢測(cè)
    全局檢測(cè)购笆,點(diǎn)擊項(xiàng)目右鍵,彈出菜單中找到“編碼規(guī)范掃描”如圖所示虚循,


    4.手動(dòng)檢測(cè)
  • 按文件檢測(cè)
    在要檢查的文件上點(diǎn)擊右鍵同欠,與按項(xiàng)目檢測(cè)一樣样傍。
    使用場(chǎng)景:檢查以前寫過的項(xiàng)目和接手他人交接的項(xiàng)目

3.2 掃描結(jié)果

插件的檢測(cè)結(jié)果分級(jí)為Blocker、Critical铺遂、Major衫哥。默認(rèn)按等級(jí)分組,方便統(tǒng)計(jì)每個(gè)級(jí)別錯(cuò)誤的數(shù)量襟锐。從下圖感嘆號(hào)能看出來撤逢,Blocker阻塞,其次為Critica關(guān)鍵的粮坞,這兩個(gè)級(jí)別盡快處理掉蚊荣。

5.掃描結(jié)果

4.常見問題

  • 中文亂碼問題
    在File->Settings ->Appearance&Behavior -> Appearance中,設(shè)置字體莫杈。


    6.中文亂碼問題
  • 約束選擇
    如果公司或者項(xiàng)目組對(duì)手冊(cè)里的規(guī)范有一些不同見解互例,可以對(duì)檢測(cè)約束進(jìn)行選擇,F(xiàn)ile-> Settings ->Inspections筝闹,如圖所示媳叨。

6.選擇約束

5.總結(jié)

總的來說,使用這個(gè)插件的幾點(diǎn)體會(huì)关顷。

  1. 插件能夠檢測(cè)出平時(shí)開發(fā)的一些細(xì)節(jié)問題糊秆,插件給出來了詳細(xì)的提示和解釋,甚至有的問題還可以quick fix解寝,可以說優(yōu)點(diǎn)非常多扩然。
  2. 用了插件之后能夠讓我們代碼中少一些Bug嗎?雖然真正編寫代碼的還是開發(fā)人員聋伦,但插件檢測(cè)起到了對(duì)編碼質(zhì)量的提示作用,我相信有編碼規(guī)范會(huì)讓開發(fā)人員避免出現(xiàn)低級(jí)錯(cuò)誤界睁,使代碼審查更高效觉增。
  3. 為什么要用這個(gè)插件?就是為了提高代碼質(zhì)量翻斟。以前總聽說一個(gè)詞—字如其人逾礁,意思是從一個(gè)人寫的字中能看出這個(gè)人的個(gè)性和精神狀態(tài)。對(duì)于軟件開發(fā)人員來說访惜,寫代碼如同寫字嘹履,從一個(gè)人平時(shí)寫的的代碼中也許能看出一個(gè)開發(fā)人員的基本素養(yǎng)和性格特點(diǎn)。寫出易讀易用的代碼债热,寫出執(zhí)行效率高的代碼應(yīng)該是每一個(gè)開發(fā)人員的追求砾嫉。

參考文獻(xiàn):
1.https://github.com/alibaba/p3c
2.https://mp.weixin.qq.com/s/KcPtgFbnU6CS3L49EKcnDg

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市窒篱,隨后出現(xiàn)的幾起案子焕刮,更是在濱河造成了極大的恐慌舶沿,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,482評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件配并,死亡現(xiàn)場(chǎng)離奇詭異括荡,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)溉旋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門畸冲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人观腊,你說我怎么就攤上這事邑闲。” “怎么了恕沫?”我有些...
    開封第一講書人閱讀 152,762評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵监憎,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我婶溯,道長(zhǎng)鲸阔,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,273評(píng)論 1 279
  • 正文 為了忘掉前任迄委,我火速辦了婚禮褐筛,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘叙身。我一直安慰自己渔扎,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評(píng)論 5 373
  • 文/花漫 我一把揭開白布信轿。 她就那樣靜靜地躺著晃痴,像睡著了一般。 火紅的嫁衣襯著肌膚如雪财忽。 梳的紋絲不亂的頭發(fā)上倘核,一...
    開封第一講書人閱讀 49,046評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音即彪,去河邊找鬼紧唱。 笑死,一個(gè)胖子當(dāng)著我的面吹牛隶校,可吹牛的內(nèi)容都是我干的漏益。 我是一名探鬼主播,決...
    沈念sama閱讀 38,351評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼深胳,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼绰疤!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起稠屠,我...
    開封第一講書人閱讀 36,988評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤峦睡,失蹤者是張志新(化名)和其女友劉穎翎苫,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體榨了,經(jīng)...
    沈念sama閱讀 43,476評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡煎谍,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評(píng)論 2 324
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了龙屉。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片呐粘。...
    茶點(diǎn)故事閱讀 38,064評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖转捕,靈堂內(nèi)的尸體忽然破棺而出作岖,到底是詐尸還是另有隱情,我是刑警寧澤五芝,帶...
    沈念sama閱讀 33,712評(píng)論 4 323
  • 正文 年R本政府宣布痘儡,位于F島的核電站,受9級(jí)特大地震影響枢步,放射性物質(zhì)發(fā)生泄漏沉删。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評(píng)論 3 307
  • 文/蒙蒙 一醉途、第九天 我趴在偏房一處隱蔽的房頂上張望矾瑰。 院中可真熱鬧,春花似錦隘擎、人聲如沸殴穴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)采幌。三九已至,卻和暖如春震桶,著一層夾襖步出監(jiān)牢的瞬間植榕,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工尼夺, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人炒瘸。 一個(gè)月前我還...
    沈念sama閱讀 45,511評(píng)論 2 354
  • 正文 我出身青樓淤堵,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親顷扩。 傳聞我的和親對(duì)象是個(gè)殘疾皇子拐邪,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評(píng)論 2 345