大规模重构 - 如何将 final 关键字添加到 Java 方法参数
Massively refactor - how to add final keyword to Java method argument
这可能是一个简单的问题:如何大量重构我的 Java 代码,使大部分方法参数成为 "final"?这是遵循我们的 "checkstyle" 规则之一。我们有数千个 Java 文件,因此手动编辑所有文件似乎不是我们可以接受的解决方案。
我在 IntelliJ 中没有找到任何此类重构选项。任何人都知道任何可以提供帮助的工具?或者有什么聪明的方法可以实现这一点?
免责声明:我不想启动 IDE war 并且我不使用 intelliJ,因此可能有一种方法可以做到这一点。但是既然你询问了一个工具来做到这一点,并且手动工作可以证明使用不同的 IDE 是合理的,那么你就进入 eclipse。
在 Eclipse 中,您可以配置 "clean up" 任务以尽可能添加 final。清理任务可以是 运行 在单个编辑器 windows 上,也可以是在 "source" 上下文菜单中的整个项目上。
您可以为此使用 IntelliJ 的检查机制:
- 导航到分析->运行 按名称检查
- 搜索 "Local variable or parameter can be final" 警告
- 确保 "Report method parameters" 是唯一选中的选项。
- Select 树的根(应该是Local variable or parameter can be final
- 单击 ALT+ENTER 和 select "make final"。这应该在所有缺失的地方添加
final
修饰符。
完成此操作后,您可能希望在 IDE 中启用此检查,这样它会警告您是否犯了进一步的错误:
- 导航到文件->设置->编辑器->检查
- 搜索 "Local variable or parameter can be final" 警告
- 确保 "Report method parameters" 是唯一选中的选项。
在 IntelliJ 中,您可以检查启用的 "Make generated local variables final" 和 "Make generated parameters final" 选项。
在 IntelliJ 2017.3 中,它位于首选项 -> 编辑器 -> 代码样式 -> Java -> 代码生成选项卡。
这可能是一个简单的问题:如何大量重构我的 Java 代码,使大部分方法参数成为 "final"?这是遵循我们的 "checkstyle" 规则之一。我们有数千个 Java 文件,因此手动编辑所有文件似乎不是我们可以接受的解决方案。
我在 IntelliJ 中没有找到任何此类重构选项。任何人都知道任何可以提供帮助的工具?或者有什么聪明的方法可以实现这一点?
免责声明:我不想启动 IDE war 并且我不使用 intelliJ,因此可能有一种方法可以做到这一点。但是既然你询问了一个工具来做到这一点,并且手动工作可以证明使用不同的 IDE 是合理的,那么你就进入 eclipse。
在 Eclipse 中,您可以配置 "clean up" 任务以尽可能添加 final。清理任务可以是 运行 在单个编辑器 windows 上,也可以是在 "source" 上下文菜单中的整个项目上。
您可以为此使用 IntelliJ 的检查机制:
- 导航到分析->运行 按名称检查
- 搜索 "Local variable or parameter can be final" 警告
- 确保 "Report method parameters" 是唯一选中的选项。
- Select 树的根(应该是Local variable or parameter can be final
- 单击 ALT+ENTER 和 select "make final"。这应该在所有缺失的地方添加
final
修饰符。
完成此操作后,您可能希望在 IDE 中启用此检查,这样它会警告您是否犯了进一步的错误:
- 导航到文件->设置->编辑器->检查
- 搜索 "Local variable or parameter can be final" 警告
- 确保 "Report method parameters" 是唯一选中的选项。
在 IntelliJ 中,您可以检查启用的 "Make generated local variables final" 和 "Make generated parameters final" 选项。
在 IntelliJ 2017.3 中,它位于首选项 -> 编辑器 -> 代码样式 -> Java -> 代码生成选项卡。