代码重构的方法
来源:互联网 发布:滴定度的浓度算法 编辑:程序博客网 时间:2024/05/21 22:41
见:http://blog.csdn.net/u011889786/article/details/51865344
见:http://blog.csdn.net/weiky626/article/details/1602691
一.提取子函数
说白了就是一个大函数里,可以根据不同功能分成几个小函数,因为说不定,其他函数也可能会用到其中的函数
二.把大家都要用的方法放到父类中
所有对象都要执行同一个方法,那就把这个方法放到他们的父类中
三.下移函数到子类
子类特有的方法就没必要放到父类中,单独实现就可以了
四.封装固定的调用逻辑(有点模板模式的意思)
代码会按照一定的逻辑执行,要完成这个功能,需要执行A,在执行B,最后执行C,这些逻辑通常比较固定,在实现了A,B,C功能之后就要调用它们实现功能,但是每次调用这三个功能函数,必然会造成代码重复
不科学的代码如下:
科学的代码如下:
可以看到我们在autoSoeedUp函数中按照顺序调用了关门,启动,加速3个操作,这样在其他地方只需要调用autoSpeedup函数即可。autoSpeedup函数实际上运用了模板方法模式,它封装了3个逻辑流程,并且这个流程不能被修改,但是子类可以重写这三个过程
五.使用泛型去除重复逻辑
可以看到IntArrayList和StringArrayList都实现了get,add,size三个函数,他们的代码都是一样的,只是具体类型不太一样
所以我们可以抽象集合类SimpleArrayList的实现:
六.函数避免过多的入参
七.重构的支柱-----转移函数,函数要职责分明
如果一个类中有太多行为(即函数),或一个类与另一个类之间有太多的函数调用,导致高度耦合,我就会考虑转移该函数到更适合的类型中。(说白了就是要函数要职责分明)
八.状态模式---参考设计模式中的介绍
状态模式介绍九.避免对象为null,就写个什么都不做的对象,如果是null就把这个给他
十.把功能拆开
不要把所有功能放在一个函数中。
另:
1.重命名:对类,接口,方法,属性等重命名,以使得更易理解
2.抽取代码:将方法内的一段代码抽取为另一个方法,
以使得该段代码可以被其他方法调用,这是重构中很重要很常用的,
此举可以极大的精炼代码,减少方法的代码行数
3.封装字段:将类的某个字段转换成属性,可以更加合理的控制字段的访问
4.抽取接口:将类的某些属性,方法抽取组成个接口,该类自动实现该接口
5.提升方法内的局部变量为方法的参数:这主要是在写代码的过程中会使用到
6.删除参数:将方法的一个或多个参数删掉
7.重排参数:将方法的参数顺序重新排列
- 代码重构的方法
- 代码重构的方法
- 代码重构方法
- 代码重构方法
- iOS代码重构的一些方法
- 代码重构的方法和意义
- 常用的代码重构方法
- 重构代码的思路和方法
- 代码重构技巧方法
- 代码重构方式方法
- refactoring笔记——代码重构的方法目录
- 几种常见的代码重构方法
- 写给新手,用最基础的方法重构代码
- 重构:代码的味道与消除方法
- 《重构-改善既有代码的设计》知识精选——重构方法合集
- 代码中坏味道和对应重构方法——摘自《重构,改善既有代码的设计》
- 重构代码 02 构建方法
- java代码重构方法总结
- mysql 定时器 启动 存储过程
- Android基本架构
- jsp页面分页逻辑
- Dobot的一些理解
- HDU
- 代码重构的方法
- mysql安装配置
- 数据库拆分验证步骤
- MVP
- 下拉菜单
- 享元模式(flyweight)c++版本
- 1对多业务,数据库水平切分架构一次搞定
- PullToRefresh ScrollView的GridView和轮播图组合xml布局
- WTF_Daily_Blog