1.在块级语句周围添加花括号
用{curly braces}包装块级语句通常是一个好习惯。 但是,即使在块中只有一个语句,某些开发人员还是不希望用{}来包装它们。 但是,如果您这样做,Checkstyle将会抱怨。
如果您要更改此设置,
if(condition) doSomething;
对此:
if(condition){doSomething();
}
Eclipse的源代码清理可为您提供帮助。
- 在项目资源管理器中,右键单击源文件夹,然后选择源->清理…
- 选择使用自定义配置文件 ,然后点击旁边的自定义配置文件部分配置 。
- 默认情况下,清理操作被配置为执行多个清理任务。 由于我们只专注于添加花括号,因此我们将禁用所有其他清理任务。 为此,请导航至“ 自定义清理”窗口中的所有选项卡,然后取消选择所有清理。
- 然后在“ 代码样式”选项卡中,选择“ 在if / while / for / do语句中使用块”选项,然后单击“ 确定”。
- 然后在“ 清理”对话框中,单击“ 下一步 ” ,然后将进行重构。 您将看到一个带有所做更改的评论页面。
2.将if语句合并为一个
可以说,您有如下代码:
if(isLoggedIn){if(isAdmin){doSecretStuff();}
}
将两个if语句合并为一个是安全的,除非在两个if语句之间有其他代码。 当然,您可以手动编辑代码以删除第二个if并将条件向上移动。 但是,等等,当Eclipse可以为我们做这件事时,为什么我们要自己做呢?
- 将光标放在内部if语句的if关键字上。
- 按Ctrl + 1将打开上下文菜单。
- 选择选项将'if'语句与外部'if'语句连接 。
- 瞧! 现在将两个if语句合并为一个。
你会得到:
if(isLoggedIn && isAdmin){doSecretStuff();
}
3.重命名文件及其getter / setter方法
根据此 ,重命名的元素是在Eclipse中主要用于重构。 因此,当您重命名具有setter / getter方法的字段时,您将手动重命名那些方法名称。 但是Eclipse可以帮助简化此过程。
- 将光标放在要重命名的字段名称上。
- 按Ctrl + Shift ,然后连续两次按R键 ,这将打开“ 重命名字段”对话框。
- 在为您的字段提供新名称的同时,检查“重命名获取器 ”和“ 重命名设置器”选项。
- 单击“确定”后,这将重命名该字段及其getter / setter方法。
4.反转if语句
假设您有如下代码:
if(!isLoggedIn){// ask to login
}else{// allow access
}
上面的代码是100%有效的。 但是诸如Checkstyle之类的代码质量工具可能会抱怨,因为我们在第一个条件下(即!isLoggedIn )使用了负性检查。 如果只有一种情况(只是if块),那么我们就不能做太多事情。 但是, 如果同时具有if和else ,则可以反转条件以避免这种情况。
- 将光标放在第一个if关键字上。
- 按Ctrl + 1 ,然后选择Invert'if'statement 。
- Eclipse将反转条件和相应的块。
- 最终,您将获得:
if(isLoggedIn){// allow access }else{// ask to login }
帮助提高代码的可读性。
结论:
当然,以上只是冰山一角。 Eclipse能够进行更多高级的重构。 那么, 您的秘密重构技术是什么?
参考: Veera Sundar博客上JCG合作伙伴 Veera Sundar 对类固醇的Eclipse重构 。
翻译自: https://www.javacodegeeks.com/2012/10/eclipse-refactoring-on-steroids.html