首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

恕我直言,IDEA的这个分析功能,只有不到10%的程序员知道……

最近,有同学问我,为什么你如此钟爱IDEA?

因为你越用越顺手,还能不断给你惊喜,让你乐此不疲的去挖掘它的功能。

就比如,我最近在stackoverflow上刷到的一个帖子:How to use IntelliJ IDEA to find all unused code?

直译过来,就是怎么通过IDEA找到未使用过的代码?让我吃惊的是竟然有有这么多的程序员不知道有这个功能。

到这里,不得不说说IDEA中的静态代码分析能力竟然如此强大!

那咱们先来解决上面那个问题:如何找出未使用的代码?其实很简单的,就是用它的代码分析功能,菜单栏:Analyze->Run Inspection By Name(译:通过名字来检查),或者用快捷键 ctrl+alt+shift+i,如下图:

再从下拉列表中,选择Unused declaration,如下图:

这样便能找出未被使用的代码,而且它还提供了4中解决方案,如下图所示:

这只是它代码分析功能的冰山一角,它支持许多语言的检查功能,不仅能帮我们发现代码中的编译错误,还能发现效率低下的代码问题,比如:unreachable code, unused code, non-localized string, unresolved method, memory leaks, spelling problems 等问题。

这里大家可以看到IDEA在默认情况下,会分析所有的打开文件,有问题的代码会在编辑器右侧显示,可以看到整个文件的所有分析状况,如下图所示:

而且它支持灵活配置,可以自己启用/禁用某个代码检查行为,改变问题的严重等级,创建自定义的检查配置问题,根据需求选择检查范围,如下图所示:

下面我来整体解读一下它的静态代码分析功能。

1、代码规范检查

打开 Analyze -> Inpect Code,检查代码是否符合 Settings -> Inspections 的设置,检查结果如下图所示:

2、检查指定的 Inspections 项

打开 Analyze -> Run Inspection By Name,输入要检查的项,如下图所示:

3、推断无效代码

打开 Analyze ->Infer Nullity,可以分析无效代码,如下图所示:

4、分析代码依赖

打开 Analyze -> Analyze Dependencies,查看依赖结果,如下图所示

5、分析代码反向依赖

打开 Analyze -> Analyze Backward Dependencies,查看反向依赖结果,如下图所示:

6、分析模块依赖

打开 Analyze -> Analyze Module Dependencies,查看模块依赖,如下图所示:

7、分析 DSM 分层依赖

打开 Analyze -> Analyze Dependency Matrix,查看依赖结构矩阵,如下图所示:

8、分析循环依赖

打开 Analyze -> Analyze Cyclic Dependencies,查看循环依赖关系,如下图所示:

9、分析堆栈跟踪信息

打开 Analyze -> Analyze Stacetrace,输入堆栈信息,如下图所示:

10、Analyze Dataflow to Here

它展示了这个变量的值是从哪些地方传递过来的,并且包含传递给改变了的值是那里传递过来的,值的传递链,如下图所示:

11、Analyze Dataflow to Here

它展示了这个变量的值传递到了哪些地方,并且包含传递之后的值又被传递到哪些地方去了,值的传递链。

总得来说,IDEA给我们提供的分析功能已经足够用了,但是还有一些第三方的插件可供我们使用,比如FindBugs、alibaba-java-coding-guidelines等。

IDEA确实有趣,咱们一起来玩转它,哈哈~~~

热文推荐

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200217A0I5WB00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券