装上这几款IDEA插件,专业程度提升妥妥的
点击上方 Java学习之道,选择 设为星标
Part1前言
作为一个开发者,每天都要code大量的代码,提升日常工作效率是所有程序员一直追求的,在众多的IDEA插件中,我推荐如下几款 IDEA 插件,效率提升非常明显,推荐给大家。
Part2GitToolBox
如果你已经是协作开发的一员了,那这款插件只要你使用,你绝对就再也离不开它了!
它能在项目上提示:
能在每一行代码上提示上次提交的时间。查版本提交问题的时候尤其方便!!! 还有多少文件没提交 远程还有多少文件没更新下来 等等……
Part3Search In Repository
平时我们如果要依赖一个第三方jar包,但是不知道它的maven/gradle的坐标。我们该怎么做?
刚入门的时候可能就是baidu了,往后可能就是到中央仓库去查下,最新版本的坐标是什么。然后复制下来,贴到pom里去。
然而,Search In Repository
这款插件直接把中央仓库的查找集成到了Idea里面。你查找 jar 包引用只需要打开这款插件,输入jar包的名字或者gav关键字,就能查到到这个jar包所有的版本,然后直接复制gav坐标。方便又快捷,清晰明了!
Part4MetricsReloaded 代码复杂度检查插件
MetricsReloaded
是一个计算代码复杂度即圈复杂度的 Jetbrain 开源开发的第三方插件。
如上图所示,选择 Complexity metrics, 执行分析结果如下图所示:
如上图所示界面中的红颜色部分,代表需要去重构优化的,点击当前行,会定位到源代码,然后我们针对性去优化函数。上图中,可以分析出方法的圈复杂度、类的圈复杂度、包的圈复杂度、模块的圈复杂度、工程的圈复杂度。
关于代码复杂度,有个维度的衡量,在这里需要普及下软件复杂度的相关知识:基本复杂度(Essential Complexity (ev(G))、模块设计复杂度(Module Design Complexity (iv(G)))、Cyclomatic Complexity (v(G)) 圈复杂度。
(1)圈复杂度(Cyclomatic Complexity (v(G)) )
概念:圈复杂度用来衡量一个模块的复杂程度。数量上表现为独立路径的条数,即合理的预防错误所需测试的最少路径条数,圈复杂度大说明程序代码可能质量低且难于测试和维护,经验表明,程序的可能错误和高的圈复杂度有着很大关系。
计算方法:一个模块控制流图有e条边,n个节点,它的圈复杂度v(G) = e - n + 2。
(2)基本复杂度(Essential Complexity (ev(G)) )
概念:基本复杂度用来衡量程序非结构化程度,非结构成分降低了程序的质量,增加了代码的维护难度,使程序难于理解。因此,基本复杂度高意味着非结构化程度高,难以模块化和维护。实际上,消除了一个错误有时会引起其他的错误。
计算方法:将模块控制流图中的结构化部分简化成节点,计算简化后控制流图的圈复杂度就是基本复杂度。
(3)模块设计复杂度(Module Design Complexity (iv(G)) )
概念:模块设计复杂度用来衡量模块之间的调用关系。软件模块设计复杂度高意味模块耦合度高,这将导致模块难于隔离、维护和复用。模块设计复杂度是从模块流程图中移去那些不包含调用子模块的判定和循环结构后得出的圈复杂度,因此模块设计复杂度不能大于圈复杂度,通常是远小于圈复杂度。
计算方法:从模块控制流图中移去那些不包含调用子模块的判定和循环结构后得到的圈复杂度。模块设计复杂度通常远小于圈复杂度。
Part5最后,Atom Material ICons
这里推荐一款ICON插件,相信估计也有很多小伙伴也有用。
虽然这个Icon不难看,但是我还是觉得原生的看着顺眼。那我为什么还要在最后特意推荐一下呢??
这是因为之前找插件的时候,发现这款 ICon 插件附加了一个 buff(先上图,再看效果)。。。
部分效果如下:
安装完了,怎么说呢,其实不难看,只是说原生的看顺眼了。
接下来我就要说说这个 icon 插件附带的 buff了(以下内容[原因]主要来自网络,经过自身实践,确实有效)。
idea 在 macOs 下,无论是我用 2018 款的 Macbook pro 还是现在的 Macbook pro m1 版本,总感觉在拖动滚动条或是鼠标中键滚屏时有点卡顿,并不是电脑性能的问题,我在网上看到有其他小伙伴也遇到了这种情况。应该是 idea 对 MacOs 系统的优化问题。
我尝试过增大 Idea 的 jvm 缓存,尝试过优化参数。都无果,后来偶然一次机会在某个论坛上看到有一个人说,装了这个 Icon 插件之后就变的丝滑无比了,但不知道为啥。我抱着怀疑的态度装了下,卧槽,瞬间丝滑了。虽然我也不懂这是为什么,但是解决问题了之后这个 Icon 插件就变成必备插件了。如果有小伙伴遇到我想同的问题的话,那么请尝试。
这个 buff 是不是很强大呢,反正对我用处还是蛮大的!
Part6小结
以上这4款Idea插件是我平时中用的非常多且经过筛选的,而对于有些大家耳熟能详就不介绍了,相信小伙伴们都有装。
希望这几款插件对大家有帮助,或者有更好更效率的插件,也可以评论里留言哦。
- | 更多精彩文章 -
▽加我微信,交个朋友 长按/扫码添加↑↑↑