【发布时间】:2012-07-09 00:53:17
【问题描述】:
我尽量避免使用非最终变量,如果 Eclipse 会为我自动执行此操作,它会节省一些输入(所以我不会忘记这样做)。我想要它检测我何时添加新的变量赋值/声明语句,并在完成后立即插入final 修饰符。
是否有可以实现此目的的配置选项或轻量级插件?
【问题讨论】:
我尽量避免使用非最终变量,如果 Eclipse 会为我自动执行此操作,它会节省一些输入(所以我不会忘记这样做)。我想要它检测我何时添加新的变量赋值/声明语句,并在完成后立即插入final 修饰符。
是否有可以实现此目的的配置选项或轻量级插件?
【问题讨论】:
您可以将其添加为“保存操作”,这样每当您保存文件时,Eclipse 都会将final 添加到您的变量中。方法如下:
或者您可以通过清理
手动执行相同的操作(每隔一段时间或针对现有代码库)【讨论】:
for ( final Object x : … ) { … })没有太大问题,但迭代变量 for ( int i = 0 ; … ; i++ ) { … } 会有问题。您是否经常有机会分配捕获声明?我认为try { } catch ( final Exception e ) { … } 没有太大问题……
final 关键字都会给你的代码添加噪音。我更喜欢 final 是 default 和一个需要应用的特殊关键字来获取可变变量。
可以使用右键-->源码-->清理。 您应该首先在首选项的代码格式化程序部分定义您真正想要清理的内容。
【讨论】:
Checkstyle插件可以为你做到这一点。您必须先设置您的 checkstyle 配置,然后在您的项目中启用 checkstyle,并让它在保存 java 文件时更改您的代码。
【讨论】:
这可能不是最强大的解决方案,但对于您经常使用的原语和/或类型,您可以定义宏
int --> final int
byte[] --> final byte[]
List --> final List
我也很喜欢格式化程序的想法,但是你必须接受它所具有的所有其他格式,这可能很麻烦。
【讨论】: