CodeArts代码重构(五):移动和更改重构

HuaweiCloud开发工具 发表于 2022/06/13 15:16:59 2022/06/13
【摘要】 CodeArts支持多种移动和更改类型,如将成员下推、将成员拉起、向上移动内部类、更改方法签名、更改类签名和类型迁移等。

CodeArts支持的移动和更改类型,如下:

  • 将成员下推(Push members down)
  • 将成员拉起 (Pull members up)
  • 向上移动内部类 (Move inner class to Upper level)
  • 使静态 (Make Static)
  • 更改方法签名 (Change Method Signature)                           Ctrl+F6
  • 更改类签名 (Change Class Signature)                                    Ctrl+F6
  • 类型迁移 (Type Migration)

 

实例操作:

向上移动内部类(Move inner class to Upper level)

此操作为我们提供了将文件移动到另一个地方或创建另一个类的内部类的工具。

动图演示:

  •  光标定位在内部类名称处。
  • 右键单击转到Refactor -> Move inner clasee to Upper level,打开对话弹窗。
  • 单击Refactor按钮应用重构,内部生成新的类文件。

 

将成员下推(Push members down)

Push Members Down重构允许通过将类成员移动到子类或子接口来清理类层次结构,然后将成员重新定位到子类/接口中。

动图演示:

   

  • 光标选择需下推的代码。
  • 单击右键转到Refactor -> Push members down。
  • 在打开的对话框中,配置相关信息,例如目标对象、要移动的成员以及其它附加信息。
  • 单击Refactor按钮,应用重构。

 

使静态(Make Static)

此操作可以将内部类或实例方法转换为静态方法。对于类,此重构还会自动更正代码中对该类的所有引用。

对于方法,此重构还会自动更正该方法的所有调用、实现和覆盖。

动图演示:

  • 光标定位在要重构的方法或类。
  • 单击右键转到Refactor ->Make Static。
  • 在打开的对话框中,指定重构选项。
  • 对于一个类,如果该类引用了任何外部类字段,CodeArts建议将外部类作为参数传递给内部类构造函数。
  • 对于方法,如果该方法引用了任何包含的类字段,可以将整个引用的对象作为参数传递给方法(将对象作为参数添加名称)或将引用的字段/变量作为参数传递给方法(添加字段的参数)。
  • 如果该方法不包含对字段或实例变量的任何引用,可以指定是否要将实例限定符替换为类引用。
  • 单击按钮Refactor,应用重构。

 


更改类签名(Change Class Signature)

对于类,这种重构可以将一个类变成一个泛型并操纵它的类型参数,它会自动更正类的所有调用、实现和覆盖。

动图演示:

  • 光标放在要更改的类名处。
  • Ctrl+F6或单击右键转到Refactor ->Change Class Signature。
  • 在打开的对话窗中,配置参数默认值以及更新用法。
  • 单击Refactor按钮应用重构。

 

更改方法签名(Change Method Signature)

对于方法,这种重构可以更改方法名称,添加、删除参数和异常,重新排序和重命名参数,并通过调用的层次结构传播新的参数和异常。

动图演示:

  • 光标放在要更改的类名处。
  • Ctrl+F6或单击右键转到Refactor ->Change Mthod Signature。
  • 在打开的对话窗中,配置信息,例如可见类型、参数信息。
  • 单击Refactor按钮应用重构。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。