使用Resharper重构之Extract Class
2017-06-28 17:07
253 查看
阐述
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一键修改访问权限当遇到有重载函数时,得手动去更改,因为工具没有智能到能选择应该改重载函数中的哪一个
相关文章推荐
- 使用 ReSharper对.NET解决方案进行全面重构
- 重构20-Extract Subclass(提取父类)
- 重构手法12:Extract Class (提炼类)
- 重构改善既有代码设计--重构手法12:Extract Class (提炼类)
- 重构第19天 提取工厂类(Extract Factory Class)
- 重构手法62:Extract Subclass (提炼子类)
- 尽量不要使用Class.class.getResourceAsStream
- 所有的WMI可以使用的class[转]
- 使用EasyMock扩展为Class提供Mock对象
- 使用Javassist对.class文件进行修改
- weblogic8.1中使用hibernate3的问题:CharScanner; panic: ClassNotFoundException: org.hibernate.hql.ast.HqlToken
- 使用EasyMock扩展为Class提供Mock对象
- 使用tomcat连接池的时候的Cannot create JDBC driver of class '' for connect URL 'null'异常
- 使用 EmptyClass 避免条件判断
- 使用sealed声明密封类(sealed class)如何对于提高性能有帮助
- ASP里使用CLASS进行代码封装
- 使用Eclipse完成经典的重构
- 在ASP中使用类(Class)
- 使用bcel动态创建class