zoukankan      html  css  js  c++  java
  • 关于重构需要了解的一些原则

    基本原则:

    1. 现有业务逻辑、依赖与关联分析清楚
    2. 对于一些不合理的业务逻辑要从技术的角度去引导需求,达到业务需求与技术的平衡
    3. 重构之后运行所有测试,确保第1点正常或者在预期范围内
    4. 代码尽量清楚地表达程序员意图(注释、逻辑清晰以及命名规范等)

    注:重要性从上往下

    代码重构主要关注的点:

    1. OO (面向对象的三大基本原则)
    2. SRP (权责单一,类只有一条被修改的理由)
    3. DYR (没有重复代码)
    4. OCP (开闭原则,类对扩展开放,对修改关闭)
    5. DIP (依赖倒置)
    6. LKP (最少知识原则,类与类之间的耦合最低)

    代码部分动手基本思路:

    前提是基本原则中的第1、2点 , 评审过后才能对代码动手:

    从需要重构的方法开始,依据SRP细分函数功能.再根据SPR原则分离为不同的类.
    如果类之间存在依赖关系,而且被依赖的类以后可能被修改,则用依赖倒置原则,抽象出接口或抽象类。

    1. 从修改命名入手
    2. 函数应该短小,逻辑清晰,只做一件事,并做好这件事(SRP)
    3. 业务逻辑的重构
    4. 异常处理重构,系统异常与业务异常分离,类型安全,异常处理的时间点等
    5. 检查类的设计, 主要是OO, 高内聚低耦合、开闭原则、DIP、操作类与数据实体类的分离等

    单元测试

    单元测试基本流程:BUILD(构造数据) - OPERATE(操作) - CHECK(验证)
    单元测试的first原则如下:
    1.F fast 快
    2.I Independent 独立
    3.R repeat 可重复
    4.S self-validate 自我验证
    5.T Timely 及时编写

    性能测试:

    帮助开发人员了解重构的效果,检查重构方案的存在的不足,尽早发现和解决问题。


    --------------------------------------------------------------------------
    Daniel Chow's Blog - 不管你在哪里,都要有一颗创业的心!
    http://www.cnblogs.com/DanielChow/
  • 相关阅读:
    c++ Knight Moves 超级升级版
    百度招聘彩蛋
    C++ 八数码问题宽搜
    c++ 动态规划(数塔)
    c++ 深度优先搜索(迷宫)
    c++ 宽搜(倒水)
    c++ matrix逆时针螺旋
    c++ 基数排序
    c++ 二分答案(解方程)
    c++ 二分答案(数组查找)
  • 原文地址:https://www.cnblogs.com/DanielChow/p/2881452.html
Copyright © 2011-2022 走看看