Java Eclipse:最有用的重构
我时不时地使用Eclipse重构特性。有些技术比其他技术更明显,有些我从未尝试过 什么重构对您最有用?为什么 注意:我发现本演示非常有用,可能是因为它是示例驱动的,因此易于理解: “” 编辑:这篇文章也很有用(谢谢) 我的最爱:Java Eclipse:最有用的重构,java,eclipse,refactoring,Java,Eclipse,Refactoring,我时不时地使用Eclipse重构特性。有些技术比其他技术更明显,有些我从未尝试过 什么重构对您最有用?为什么 注意:我发现本演示非常有用,可能是因为它是示例驱动的,因此易于理解: “” 编辑:这篇文章也很有用(谢谢) 我的最爱: 更名 向上拉/向下推 提取方法 我最常用的是重命名、提取方法和更改方法签名,按顺序排列。重命名——因为给事物起有意义的名字是编写自文档代码的最佳方式。Shift+Alt+R 提取方法-每当方法过长时。Shift+Alt+M 提取常数-因为幻数是不好的。Shift+Alt
我最常用的是重命名、提取方法和更改方法签名,按顺序排列。重命名——因为给事物起有意义的名字是编写自文档代码的最佳方式。Shift+Alt+R 提取方法-每当方法过长时。Shift+Alt+M 提取常数-因为幻数是不好的。Shift+Alt+T(重构菜单,没有直接的快捷方式) 内联/引入变量-消除方法中的混乱。Shift+Alt+I(内联)、Shift+Alt+L(引入)我使用: 1-重命名-更正更好的方法名称 2-移动-以更好的方式组织我的包,比如当我开始我的项目时,它非常小,所以不需要io包,但现在是的 3-生成注释-当我创建.class时,避免我重新复制GPL许可证等 4-正确的缩进-保持我的代码可读。我的收藏夹(按使用顺序):
Alt-Shift-R
,或Ctrl-1
以加快文件重命名速度)良好的重命名变量、方法等,无副作用
Ctrl-1
,Alt-Shift-L
)用于将快速生成的100个字符行拆分为单独的步骤
Alt-Shift-M
)用一些代码创建一个没有任何副作用的方法
Ctrl-1
)当您在声明中初始化变量,现在发现初始化需要在try-or-if块中时,这很好
Alt-Shift-C
)方法签名操作的便捷工具,包括新参数的默认值
从当前类中提取接口或超类。非常方便
在红线部分按CTRL+1键,即“快速修复”。已经说明了最流行的重构,我完全同意它们 代码格式化程序(Source、Format或Ctrl-Shift-F)是我经常使用的IDE功能之一。诚然,这不是重构,但它在保持编码风格的同时提高了代码的可读性:只需转到首选项、Java、代码风格、格式化程序,然后告诉Eclipse您希望代码的外观 生成getter和setter也是我发现在编写Java bean时节省时间的一项功能。我最喜欢的是: 1) 重命名-它适用于方法名、变量名、类名、字段——实际上是任何有名称的东西。
2) 将匿名类转换为嵌套类-有助于调试,允许您重用您认为只会在一个地方使用的逻辑(如比较器)
3) 将成员类型转换为顶级-通常在将匿名类转换为嵌套类后,我发现该类在其他地方很有用。这种重构是完美的。对于所有流行的IDE,Eclipse的重构可能最少。您可以考虑NETBeBeor或iTelLJ(社区版是免费的)。相反,Eclipse可能有最好的调试器 我在编写代码时使用了重构(我发现它可以加快15%左右的编写速度),因此IntelliJ重构代码的能力对我来说并不十分有用。其他IDE现在可能支持这一点(有人知道吗?) 我发现IntelliJ的smart complete也相当聪明
我已经测试了从打印输出(最初写在Eclipse)中重新键入一个文件,发现在用ItTeliJ输入文件时,我使用了30%个更少的键和50%的鼠标动作(与Eclipse相比),我估计NETBESE在中间。它现在处理包含continue语句的选择
为了保留现有代码的语义,选择需要包括循环的最后一条语句。在提取的方法中,continue语句更改为返回: 对于在提取的方法中需要多个返回值的选择,Eclipse现在在错误消息中列出了冲突的变量:这是一个有趣的问题。我知道什么对我有用,看看别人用什么很有趣 我决定采用更科学的方法来确定最常用的重构命令。Eclipse有一个内置的特性。数据是。我获取了数据并提取了下面的图表,其中显示了最常用的编辑命令(没有导航命令)
然而,我非常相信格式化和组织导入(read)时的“保存操作”,所以我不会计算这些操作。我还将删除评论操作。图片是这样的:这项研究也值得一读:D.迪格和R.约翰逊 作者注意到80%的变化是重构,并对它们进行了分类。以下是摘要: 框架和库改变了它们的特性 API。将应用程序迁移到 新的API是乏味的,并且会中断 开发过程。虽然有些 已经提出了一些工具和想法,以便 解决API的演变,大多数 更新是手动完成的。改善 了解 迁移工具,我们研究了API 四个框架的变化