在IntelliJ中,我检查了可以使final
打开的变量,以便IntelliJ突出显示这些变量,让我快速添加final
关键字 Alt < / kbd> + 输入。
当我打开通常不使用final
关键字的其他人的代码时,我想快速将final
添加到整个文件中的所有变量,如果可能的话,甚至是整个项目。
在IntelliJ中是否有任何快捷方式或其他方法可以轻松完成此操作?
答案 0 :(得分:3)
从那篇文章:
当鼠标悬停在一个可以制作final
的变量上时,可以使用典型的 Alt + Enter 快捷方式在当前文件中实现此目的,按< kbd>→,并选择“修复所有'局部变量或参数可以是文件中的最终'问题。”
该子菜单中的下一个项目是“运行检查...”,这将允许您将修复应用于项目中的多个文件。
答案 1 :(得分:1)
不回答;我的意见支持,但最后,还有多年考虑代码质量主题的经验支持:
我知道,这是风格;但是,我认为你的风格没有帮助。与此相反的。所以答案是:不要那样做。不要随意将final
放在任何变量上。
重点是:您希望源代码精确而详细......但也要“简约”。请记住:每个和任何写的字符都需要阅读。并由人类读者大脑“解析”和“处理”。
所以你想要平衡你写下来的东西。事情是:大多数时,那些final
关键字将不为您的源代码添加任何值。零。
final
只有两个地方真正有所作为:
final
作为默认值 - 因为这会让你到达不可变对象的一半;这本身就是一件好事。当然,有时你必须允许字段改变它们的价值;但如上所述:那应该是例外。final
关键字,您也可以在lambad中使用它们。因此,即使是Java语言的父亲也建议你避免使用该关键字!但超过这两个案例;您的代码中有数以万计的地方只有final
会影响您的大脑必须消化的输入;没有为您的程序增加价值。
长话短说:退一步,重新思考你想要通过这项政策实现的目标。
最后:您确定要记住撤消对其他人的代码的更改?如你所见:不是每个人都支持你的风格;所以你不应该只问如何轻易改变其他代码;还有以后如何还原 那些更改。假设您必须在源代码中进行一些真正的更改;然后将它们提交到您的存储库 - 您是否真的愿意进入并撤消您手动进行的final
更改;同时确保保留所有其他“真实”的变化。