热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

IntelliJIDEA在JAVA中使用+=时强调变量

如何解决《IntelliJIDEA在JAVA中使用+=时强调变量》经验,为你挑选了1个好方法。

由于新的更新(2018.2)IntelliJ IDEA强调变量,当它们被"不必要地"重新分配时 - 但是,这包括每次使用"+ =".
这是IDE中的错误还是我弄错了?
请以此基本方法为例.(它只是添加一个数字列表.)

示例图片



1> CrazyCoder..:

这是IntelliJ IDEA 2018.2 的新功能:

为重新分配的局部变量和重新分配的参数加下划线

IntelliJ IDEA现在默认为重新分配的局部变量和重新分配的参数加下划线.支持此功能的所有语言的属性(现在包括Java和Groovy)可以在Preferences/Settings中更改 编辑| 配色方案| 语言默认值| 标识符| 重新分配.

强调

为什么它可能有用?

如果变量/参数带有下划线,则表示您无法直接在lambda/anonymous类中使用它.

当读取非常长的方法代码时,如果参数没有加下划线,您肯定知道它的值不会在此方法中的任何位置重新分配,并且它包含与任何时候传递给此方法的值完全相同的值.

某些代码指南针对重新分配的变量,您可能希望尽可能避免使用它们以保持代码清洁并使其更易于读取/调试.

如今,许多开发人员更愿意避免可变状态,并且仅在极少数情况下才真正需要时重新分配变量.我们不想手动强制执行不变性,我们假设默认情况下所有内容都是不可变的,并且当某些内容不是时,需要额外关注这些情况.如果您使用final标记非可变变量,则意味着您需要为常规案例编写更多代码,并在特殊情况下编写更少代码.(BTW在现代语言中声明不可变变量不需要编写额外的代码,但遗憾的是不是在Java中).而Java语言架构师Brian Goetz也喜欢IDEA重新分配变量的方式(见他的推文).


我看到的最糟糕的intellij增强功能之一。有人向他们提出了可用性问题。随时对其进行投票:https://youtrack.jetbrains.com/issue/IDEA-207835
基本上是`final`可以用来做的事情(只是不是每个人都使用它)
推荐阅读
author-avatar
疯子jiushiwohaha
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有