数据级的重构

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.用数据类来代替传统记录:

  建立一个包含记录成员的类。这样你就可以集中完成对记录的错误检查、持久化、和其它与

  该记录相关的操作

 

以上是关于数据级的重构的主要内容,如果未能解决你的问题,请参考以下文章

子程序级的重构

大话重构连载首页

核心数据重构

PCL系列——三维重构之泊松重构

重构重构:第一个案例

重构改善既有代码设计--重构手法19:Replace Data Value with Object (以对象取代数据值)