彩票走势图

IntelliJ IDEA使用教程:如何通过静态分析优化你的代码

翻译|使用教程|编辑:鲍佳佳|2020-10-21 13:29:05.297|阅读 676 次

概述:Dataflow to/from here允许您在给定的数据处理阶段识别哪些值是可能的。这些知识有助于我们在运行时潜在的错误发生之前检测它们,并通过删除冗余的检查、条件等来优化代码。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

IntelliJ IDEA是Java语言开发的集成环境,IntelliJ在业界被公认为优秀的Java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、 创新的GUI设计等方面的功能可以说是超常的。

点击下载IntelliJ IDEA最新试用版

在编写代码时,我们不断得到静态分析的帮助。这种看不见的机制在幕后运作,为我们提供各种建议和警告。可以肯定地说IntelliJ IDEA比我们更了解我们的代码。

现在,如果我们可以访问静态分析数据以检查程序的工作方式或调试复杂问题该怎么解决?实际上,此功能已经存在,并且已经存在了一段时间。

它被称为Dataflow to/from here,它允许您在给定的数据处理阶段识别哪些值是可能的。这些知识有助于我们在运行时潜在的错误发生之前检测它们,并通过删除冗余的检查、条件等来优化代码。

考虑以下示例:

在printList方法中,我们有一个null检查,以说明当null作为参数传递时的情况。当我们试图在列表为null时打印出列表的内容时,这可以保护我们免受NullPointerException的影响。

检查方法参数是否为空

让我们看看该功能如何帮助我们优化此代码。
右键单击该参数,然后选择“Analyze | Data Flow to Here并指定分析范围。在“Analyze Dataflow”工具窗口中,单击“Group by Leaf Expression Nullness”并打开相应的选项卡。
分析结果清楚地表明,没有上游代码在调用此方法时将null作为参数传递。

分析数据流对话框中的按空分组选项卡

因此,我们可以安全地消除冗余的null检查并将参数注释为@Notnull。当您想优化代码,但需要更多信息来指导您如何优化代码时,数据流分析是一种可以节省大量时间并帮助您避免错误的工具。

使用相同的过程,您可以检查整个输入值范围。有了这些信息,您可以防止出现意外的ArrayIndexOutOfBoundsExceptions之类的错误。

如果在运行时抛出异常,并且您有堆栈跟踪,则确定原因变得更加容易。不需要寻找抛出它的方法并仔细检查调用树。相反,只需单击引发异常的帧。

如果您以前从未使用过此功能,建议您尝试一下。如果您希望我们进一步研究其他功能,请在评论中给我们留言。

好了这就是今天的内容了,如果今天的文章未解决你的需求,可点击获取更多免费教程。不要忘了在评论与我们分享您的想法和建议,慧都作为IntelliJ IDEA正版合作商,我们推出"软件国产化服务季"活动(点击查看详情)!现IntelliJ正版授权在线订购最高立减3000元!低至1333!还有多种授权方式供你选择。


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP