数据级的重构
Posted 连先森
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据级的重构相关的知识,希望对你有一定的参考价值。
1.用具名常量替代神秘数值:
如果使用了数字或字符表示形式,例如3.14,那么请将这样的字符使用具名常量来替代,例如PI
2.使用变量的名字更为清晰且传递更多的信息:
如果一个变量的名字容易让人产生误解,就换个好点的名字
3.将表达式内联化:
把一个中间变量换成给它赋值的那个表达式本身
4.用函数来代替表达式:
用一个函数来代替表达式,这样一来表达式就不会在代码中重复出现
5.引入中间变量
将表达式的值赋给中间的变量,要记住,给这个中间变量的命名应能准确概况表达式的用途
6.用多个单一用途变量代替某个多用户变量:
如果一个变量身兼数职,通常为i、j、temp,请用多个变量来让他们各司其职。
7.在局部用途中使用局部变量而不是参数:
如果一个被用作输入的子程序参数在其内部又被用作局部变量,那么请直接创建一个局部变量来代替它
8.将基础数据类型转化为类:
如果一个基础数据类型需要额外的功能或额外的数据,那么请把该数据转换为一个对象,然后再添加你
所需要的类的行为。类似于Color、Status、
9.将一组类型码转换为类或枚举类型:
例如订单类型若分为普通订单、积分订单和活动订单,请将该类的类型码转换为类或枚举类型
10.将一组类型码转换为一个基类及其相应的派生类:
例如对Order类,就可以创建NomalOrder、ActivityOrder、IntegerOrder这样的派生类
11.将数组转换为对象:
如果正在使用一个数组,且其中的不同元素具有不同的类型,那么请用一个对象替换该元素。
将数组中各个元素转化为该类的各个成员
12.把群集封装起来
如果一个类返回一个群集,到处散步的多个群集实例将会带来同步问题。请让你的类返回一个
只读群集,并且提供相应的子程序
13.用数据类来代替传统记录:
建立一个包含记录成员的类。这样你就可以集中完成对记录的错误检查、持久化、和其它与
该记录相关的操作
以上是关于数据级的重构的主要内容,如果未能解决你的问题,请参考以下文章
重构改善既有代码设计--重构手法19:Replace Data Value with Object (以对象取代数据值)