阐述
Create a new class and move the relevant fields and methods from the old class into the new class.
创建一个新类并从旧的类中移动相关的字段和函数,并放入新的类中
思想
- 单一职责:一个类明确只干某一类事
- 杜绝内部类
- 某一类脚本用文件夹归纳
- 必须通过理论保证重构后运行效果完全一样
如何做
典型例子
- 下面这个Buff类属于Soldier类的内部类,可以提取(extract class)出来作为一个单独的类
使用Reshaper的提取这个内部类的步骤
第一步:先将这个buff类移出这个大类
第二步:把这个类放到一个单独的cs文件并指定文件夹
当内部类移出后与外部的某个类的类名冲突时
先对某个类进行重命名(resharper的refactor name的快捷键是Ctrl+R+R)
或者给某个类加上特定的命名空间
namespace Battle.Proto {
public class Skill {
}
}
namespace Battle.Logic {
public class Skill {
}
}
调整文件内成员结构
Resharper支持查看和调整文件结构的功能,快捷键是Ctrl+Alt+F
通过鼠标拖拽进行调整
内部类重构之后,把私有访问权限改为公有
- 鼠标放置在方法或者成员变量上,Alt+Enter一键修改访问权限
当遇到有重载函数时,得手动去更改,因为工具没有智能到能选择应该改重载函数中的哪一个