硬核,這 3 款 IDE 插件讓你的代碼牢不可破

有一段時間沒去電影院了,上次看的還是戰爭題材的《八佰》,現在還能記得當時的觀影感受:熱血沸騰的同時,一種寧死不屈的信念從心底油然而生。戰場雖然只有四行倉庫那麼大點的地方,卻顯得牢不可破,敵人再兇猛的火力,似乎都無法有所突破。

作爲和代碼打交道的我們,天敵除了亂改需求的“產品經理”(請老老實實地背鍋),還有那無窮無盡永遠也修改不完的 bug。爲了抵禦 bug 的侵擾,我們想盡了各種辦法,不停地修繕工地,努力讓我們的代碼變得牢不可破。

這些努力當中,有 3 款優秀的 IDE 插件功不可沒。是哪 3 個呢?請腰桿挺直,眼睛睜大,大聲呼喊出它們的名字。

01、CheckStyle

Checkstyle 是一個靜態代碼分析工具,用來檢查 Java 源代碼是否符合編碼規則。

那編碼規則由誰定義才能比較被認可呢?

除了 Sun,還有谷歌,可以吧?感興趣的小夥伴可以通過下面的地址閱讀一下谷歌的 Java 代碼規範。

https://google.github.io/styleguide/javaguide.html

可以在 Intellij IDEA 的插件市場裏直接安裝 CheckStyle 這個插件。

點擊 OK 後,就可以在 Intellij IDEA 的底部看到「CheckStyle」面板,默認支持 Sun 和谷歌的代碼規範。

選擇一種規則後,可以點擊左側的 2 個小圖標對項目或者模塊進行檢查(也可以使用右鍵「Check Current File」 檢查當前類文件),然後就可以看到修改建議了。

不過,輸出的信息裏有大量對代碼縮進的建議,是因爲 CheckStyle 默認的縮進規則是使用 2 個空格,但我更習慣使用 4 個空格,能不能自定義一下呢?

當然可以。

第一步,按照下面的路徑把 CheckStyle 的 GitHub 倉庫導入到碼雲(可以提高克隆速度)。

https://github.com/itwanger/checkstyle

第二步,使用 GitHub 桌面版把導入後的倉庫 clone 到本地。

PS:我已經克隆過了,所以會有警告提示。

第三步,找到 src/main/resources/google_checks.xml 文件,修改 Indentation(縮進)元素後保存。

<module name="Indentation">
  <property name="basicOffset" value="4"/>
  <property name="braceAdjustment" value="0"/>
  <property name="caseIndent" value="4"/>
  <property name="throwsIndent" value="4"/>
  <property name="lineWrappingIndentation" value="4"/>
  <property name="arrayInitIndent" value="4"/>
</module>

第四步,打開 Intellij IDEA 的首選項,找到「Tools」→「Checkstyle」。

點擊「Configuration File」 欄目底部的「+」號,自定義 Checkstyle 規則。填寫「Description」,並將之前複製的路徑粘貼到「URL」中,點擊「Next」。

第五步,配置成功後,在「CheckStyle」面板看到我們自定義的檢查規則了。選中後,再次掃描,就可以看到縮進的警告信息消失了。

如果團隊內部使用的話,也可以在谷歌和 sun 的代碼規約基礎上進行一些調整,從而更符合團隊開發的習慣,同時還能起到統一代碼規範的作用,美哉美哉。

02、Alibaba Java 代碼規範

《阿里巴巴 Java 開發手冊》自從第一個版本起,就倍受業界關注,畢竟是阿里出品啊。最新版是嵩山版,離線下載地址我貼一下:

https://pan.baidu.com/s/1iBVFWUPuJNFEBfG8cmd-aA 密碼:pplh

我看了很多遍,有些規約已經深深地刻在腦海裏,在寫代碼的時候就會特別注意。甚至有時候寫完代碼,都要對照一遍規約,看看有哪些細節需要調整。

爲了讓開發者更加方便、快速的將規範推動並執行起來,阿里巴巴基於這本手冊的內容,研發了一套自動化的 IDE 插件(有 Intellij IDEA 和 Eclipse 兩個版本)。

Intellij IDEA 可以直接在插件市場進行下載安裝。

目前插件檢測有兩種模式:實時檢測和手動觸發。

1)實時檢測

《阿里巴巴 Java 開發手冊》的第一條規約如下:

實時檢測是默認開啓的,我們來“明知故犯”一下:

在編碼的時候,插件就會及時的給出提示建議,說【_name】命名不能以_或$開始

如果不喜歡實時檢測的話,可以通過「Tools」→「阿里編碼規約」→「關閉實時檢測功能」來進行關閉。

2)手動觸發

在代碼編輯區域右鍵菜單選擇「編碼規約掃描」就可以對當前文件進行掃描,也可以選擇整個項目或者某個目錄進行掃描。

插件掃描後,會將一些不合手冊上面的代碼按照 Blocker/Critical/Major 三個等級顯示出來,點擊某個修改建議可以直接跳轉到對應的代碼處,這樣的話,修改起來就非常便捷了。

03、SonarLint

SonarLint 可讓我們在編寫代碼的時候就對錯誤和漏洞進行修復,像拼寫檢查器一樣,可以即時突出地顯示出編碼中的一些問題,並提供清晰的補救指導,方便我們在提交代碼之前就解決它們。

SonarLint 支持很多種語言,包括 Java、Kotlin、JavaScript、Ruby、Python、PHP 等等。也支持很多種 IDE,包括 Eclipse、Intellij IDEA、Visual Studio、VS Code 等等。

Intellij IDEA 可以在插件市場直接安裝。

SonarLint 默認也是開啓實時檢查的,當我們在聲明 List 的時候沒有使用泛型,它不僅指出了問題,還給出了修改建議,甚至示例都寫好了,真貼心。

04、總結

好的編程規範有助於寫出易於閱讀、質量更高、錯誤更少、更易於維護的程序。CheckStyle、Alibaba Java 代碼規範、SonarLint 這 3 款 Intellij IDEA 插件能在很大程度上幫助我們達到這個目的。

另外,如果你在 Intellij IDEA 插件市場中下載這 3 款插件的時候速度比較慢的話,可以通過下面的方式進行下載,我已經貼心地替你打包好了。

鏈接:https://pan.baidu.com/s/1W9AsoLrBJTEtE9JTJlqNXw 密碼:pa92

下載完成後,可以在 Intellij IDEA 的插件市場選擇本地路徑的方式進行安裝。

直接選擇對應的 zip 包就可以安裝了。

希望能對小夥伴們有所幫助,儘快安排一下吧,從此 bug 離我們遠一點,少一點。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章