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

本文介绍如何在IntelliJIDEA中利用其强大的静态代码分析功能查找并处理未使用代码,包括常用检查工具如UnusedDeclaration,以及多种代码检查类型和定制选项。此外,作者还提到了IDEA与其他第三方插件的配合使用。
摘要由CSDN通过智能技术生成

添加图片注释,不超过 140 字(可选)

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

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

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

添加图片注释,不超过 140 字(可选)

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

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

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

添加图片注释,不超过 140 字(可选)

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

添加图片注释,不超过 140 字(可选)

添加图片注释,不超过 140 字(可选)

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

添加图片注释,不超过 140 字(可选)

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

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

添加图片注释,不超过 140 字(可选)

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

添加图片注释,不超过 140 字(可选)

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

1、代码规范检查

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

添加图片注释,不超过 140 字(可选)

2、检查指定的 Inspections 项

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

添加图片注释,不超过 140 字(可选)

3、推断无效代码

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

添加图片注释,不超过 140 字(可选)

4、分析代码依赖

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

添加图片注释,不超过 140 字(可选)

5、分析代码反向依赖

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

添加图片注释,不超过 140 字(可选)

6、分析模块依赖

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

添加图片注释,不超过 140 字(可选)

7、分析 DSM 分层依赖

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

添加图片注释,不超过 140 字(可选)

8、分析循环依赖

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

添加图片注释,不超过 140 字(可选)

9、分析堆栈跟踪信息

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

添加图片注释,不超过 140 字(可选)

10、Analyze Dataflow to Here

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

添加图片注释,不超过 140 字(可选)

11、Analyze Dataflow to Here

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

添加图片注释,不超过 140 字(可选)

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

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

                                                                                                                                                资源获取:
大家 点赞、收藏、关注、评论啦 、 查看👇🏻👇🏻👇🏻 微信公众号获取联系方式👇🏻👇🏻👇🏻
精彩专栏推荐订阅:下方专栏👇🏻👇🏻👇🏻👇🏻
每天学四小时:Java+Spring+JVM+分布式高并发,架构师指日可待

  • 13
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值