zoukankan      html  css  js  c++  java
  • 数据级的重构

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

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

      该记录相关的操作

  • 相关阅读:
    NIO中几个非常重要的技术点
    NIO的epoll空轮询bug
    mysql支持跨表删除多条记录
    使用Fastjson生成Json字符串少字段属性(数据丢失)
    Linux系统下安装rz/sz命令及使用说明
    Slave_SQL_Running: No mysql同步故障
    二次幂权限设计
    spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件)
    XStream别名;元素转属性;去除集合属性(剥皮);忽略不需要元素
    JDBC通用DAO
  • 原文地址:https://www.cnblogs.com/liandy0906/p/5898500.html
Copyright © 2011-2022 走看看