日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

idea代码提示插件_IDEA 插件推荐 —— 让你写出好代码的神器!

發(fā)布時(shí)間:2025/3/15 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 idea代码提示插件_IDEA 插件推荐 —— 让你写出好代码的神器! 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

概述

今天介紹的插件主要是圍繞編碼規(guī)范的。有追求的程序員,往往都有代碼潔癖,要盡量減少代碼的「壞味道」。

代碼靜態(tài)檢查是有很多種類(lèi),例如圈復(fù)雜度、重復(fù)率等。業(yè)界提供了很多靜態(tài)檢查的插件來(lái)識(shí)別這些不合規(guī)的代碼,幫助提高項(xiàng)目的質(zhì)量。比較知名的一個(gè)產(chǎn)品是 SonarQube,它提供了一個(gè)「門(mén)禁」平臺(tái),集成了很多靜態(tài)檢查檢查。下次有機(jī)會(huì)介紹一下該平臺(tái)的搭建。

本文主要介紹 IDEA 中對(duì)于 Java 語(yǔ)言靜態(tài)檢查的好插件:

  • Alibaba Java Coding Guidelines 阿里基于他們 Java 規(guī)范提供的插件

  • CheckStyle-IDEA 檢查代碼的格式是否符合規(guī)范

  • FindBugs-IDEA 檢查代碼是否有常見(jiàn)的一些 Bug

Alibaba Java Coding Guidelines

阿里巴巴 Java 編碼指南插件支持。

首先說(shuō)說(shuō)阿里的 p3c 項(xiàng)目,它的 Github 主頁(yè)地址是:https://github.com/alibaba/p3c 阿里之前開(kāi)源過(guò)一份 Java 開(kāi)發(fā)手冊(cè)。手冊(cè)從編程規(guī)約、異常日志、單元測(cè)試、MySQL 數(shù)據(jù)庫(kù)、工程結(jié)構(gòu)、設(shè)計(jì)規(guī)約等角度,介紹了阿里的 Java 開(kāi)發(fā)規(guī)范,這個(gè)對(duì)于 Java 新手幫助挺大的,能夠?qū)W到不少東西。有一些坑可能老司機(jī)也會(huì)翻車(chē)。

泰山版-圖片來(lái)PDF 文檔,侵刪

開(kāi)發(fā)人員 Coding 時(shí),可能就忘記規(guī)范了,寫(xiě)出來(lái)的代碼還是會(huì)有『壞味道』。這時(shí)候Alibaba Java Coding Guidelines 插件就派上用場(chǎng)了。它會(huì)根據(jù)上面的 Java 開(kāi)發(fā)規(guī)范對(duì)你的代碼進(jìn)行檢查,不符合規(guī)范的代碼會(huì)有提示,并給出修改建議。阿里作為國(guó)內(nèi) Java 大廠,基于成千上萬(wàn)的工程師總結(jié)出來(lái)的踩坑經(jīng)驗(yàn),我相信給出的規(guī)范建議還是比較可靠的。

上個(gè)栗子:

1??String?str?=?"hello";
2??for?(int?i?=?0;?i?100;?i++)?{
3??????str?=?str?+?"world!";
4??}

先不要往下看,試著分析一下這段代碼哪里可以?xún)?yōu)化?

錯(cuò)誤示例

其實(shí),插鍵掃描的結(jié)果不僅有這個(gè)問(wèn)題,還有『魔法數(shù)字』的問(wèn)題。插件的用法,見(jiàn)下面的截圖。

示例

除此以外,建議在 IDEA 進(jìn)行代碼提交時(shí),勾選上它提供的檢查項(xiàng)按鈕,這樣如果有不合規(guī)的代碼進(jìn)行提交,就會(huì)提醒你修改:

commit-checks-job

CheckStyle-IDEA

插件

項(xiàng)目主頁(yè):https://github.com/jshiell/checkstyle-idea

安裝好之后,進(jìn)入設(shè)置,勾選上你要選用的默認(rèn)檢查規(guī)范:

kl0L2s

大廠往往都有自己的語(yǔ)言規(guī)范,可以導(dǎo)入選用:

導(dǎo)入規(guī)則

右鍵菜單,選擇 Check Current File 即可檢查當(dāng)前文件是否符合編碼規(guī)范:

使用

檢查結(jié)果:

效果

如果不符合規(guī)范的寫(xiě)法有點(diǎn)多,整改起來(lái)就會(huì)很痛苦了,這時(shí)候該怎么辦?有一個(gè)功能叫格式化代碼(Reformat Code),快捷鍵是:

  • Mac:Command+Option+L

  • Win:Ctrl+Shift+L

如果想按照你指定的規(guī)則進(jìn)行格式化,可以按照如下方式進(jìn)行自定義:

格式化規(guī)則導(dǎo)入

FindBugs-IDEA

FindBugs 是一款老牌 Java 靜態(tài)檢查插件了。它的功能和阿里 p3c 那個(gè)插件很像,只不過(guò)它歷史悠久、國(guó)際化一點(diǎn)。它同樣的可以?huà)呙璐a,發(fā)現(xiàn)一些可能會(huì)引入 Bug 的代碼段,給出參考建議。

啟動(dòng) FindBugs 的方式,右鍵菜單中,Findbugs 提供了好幾個(gè)選項(xiàng):

啟動(dòng)
  • Analyze Current File:檢查當(dāng)前文件

  • Analyze Class uner Cursor:檢查光標(biāo)處的類(lèi)

  • Analyze Package Files:檢查包文件

  • Analyze Modul Files:檢查 Module 文件

  • Analyze Project Files:檢查項(xiàng)目文件

  • Analyze Scope Files:檢查指定范圍內(nèi)的文件

  • Analyze All Modified Files:檢查所有修改過(guò)的文件

  • Analyze changelist files:檢查變更列表中的文件

檢查結(jié)果:

結(jié)果

檢查結(jié)果分為如下類(lèi)別:

  • Bad practice:不好的做法,代碼違反了公認(rèn)的最佳實(shí)踐標(biāo)準(zhǔn);

  • Malicious code vulnerbility:惡意的代碼漏洞;

  • Correctness:可能不正確,比如錯(cuò)誤的強(qiáng)制類(lèi)型轉(zhuǎn)換;

  • Performance:潛在的性能問(wèn)題;

  • Security:安全性;

  • Dodgy code:糟糕的代碼,FindBugs團(tuán)隊(duì)認(rèn)為該類(lèi)型下的問(wèn)題代碼導(dǎo)致 Bug 的可能性很高;

  • Experimental:實(shí)驗(yàn);

  • Multithreaded correctness:關(guān)注于同步和多線程問(wèn)題;

  • Internationalization:國(guó)際化

掃描出來(lái)的結(jié)果怎么看懂,官網(wǎng)有專(zhuān)門(mén)的一頁(yè)介紹 FindBugs Bug Description http://findbugs.sourceforge.net/bugDescriptions.html

看懂結(jié)果

除了上面右鍵菜單啟動(dòng)檢查之外,還可以在相應(yīng)文件夾右鍵菜單中啟動(dòng):

選中檢查

針對(duì)檢查的嚴(yán)格程度,其實(shí)是可以調(diào)節(jié)的,建議修改為 low,這樣會(huì)盡可能的掃描出有潛在 Bug 的代碼片段:

嚴(yán)格程度

總結(jié)

以上是目前工作中經(jīng)常用到的靜態(tài)代碼檢查插鍵,雖然不是用了它們就真的能寫(xiě)出好代碼,但是這些工具的確能夠讓你在前人的肩膀上少踩一些坑。比如阿里的那個(gè)檢查插鍵,你可以按照它的提示,對(duì)照著他們的 Java 開(kāi)發(fā)手冊(cè)查看,分析一下,為何他們會(huì)有如此的規(guī)約。高樓大廈不都是一磚一瓦砌成的嘛?小知識(shí)點(diǎn)的基礎(chǔ)打扎實(shí)了,才能走得更高!

由于國(guó)內(nèi)網(wǎng)絡(luò)問(wèn)題,我提前將最新版的《阿里巴巴 Java 開(kāi)發(fā)手冊(cè)(泰山版).pdf》上傳至云盤(pán)了,有需要的小伙伴公眾號(hào)后臺(tái)回復(fù) 泰山版 即可獲得下載鏈接。

一言

上周的寫(xiě)的一篇文章分享到微信群里,群友有人指出來(lái)標(biāo)題有錯(cuò)別字,真是有點(diǎn)尷尬!其實(shí),我寫(xiě)文章也比較隨意,也是最近才開(kāi)始堅(jiān)持每周至少輸出一篇分享的。但想想既然寫(xiě)了,就要盡量保證質(zhì)量。引以為戒,以后要認(rèn)真點(diǎn)才行!

目前分享的內(nèi)容主要是開(kāi)發(fā)環(huán)境、效率工具等。自己一直對(duì)這方面的文章比較感興趣,因此之前就有相關(guān)積累。今后希望能通過(guò)閱讀帶來(lái)一些讀書(shū)總結(jié)的分享,也希望關(guān)注的同學(xué)后臺(tái)多留言,給出您的建議,感謝~

生命不息,折騰不止!關(guān)注 「Coder 魔法院」,祝你 Niubilitiy !

參考

  • 代碼缺陷掃描神器——FindBugs:https://juejin.im/entry/591ad01ba22b9d005833903e

往期文章

IDEA 插件推薦——必不可少的變量名轉(zhuǎn)換神器

Windows 開(kāi)發(fā)環(huán)境必備終端工具 Cmder

開(kāi)發(fā)必備技能,針對(duì)Github Homebrew 等終端工具下載加速

Python 調(diào)試?yán)?ipdb

好看的人才能點(diǎn)

總結(jié)

以上是生活随笔為你收集整理的idea代码提示插件_IDEA 插件推荐 —— 让你写出好代码的神器!的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。