• 【重构.改善既有代码的设计】2、重构原则


    2、重构原则

    这章其实和前言很多是相辅相成的,可以合并为一章,但我不暂时不想这么做了,等后面复习的时候再做吧。

     

    重构的目的

    1、提高理解性 
    程序主要是给人看的,而不是给机器看的。 
    2、降低修改成本 
    程序的维护时间比开发时间要长的多。 
    3、重构不会改变软件可观察的行为 
    也就是说,重构不改变对外接口,及软件的功能。 
    那么重构是单纯的整理代码吗?答案是:是的。当然这是单纯的重构。 
    4、理解不熟悉的代码 
    重构还可以帮你理解不熟悉的代码,当你无法理解一段代码的时候,重构他吧。 
    不熟悉的代码就思想是窗上的污垢,把污垢擦掉后,你能看的更远。 
    5、寻找BUG 
    6、提高编程速度 
    --良好的设计是快速开发的基础。

    最终的目的: 
    1、容易阅读 
    2、所有逻辑都只在唯一的地点出现 
    3、新的改变不会危及现有的行为 
    4、尽可能表达简单条件逻辑

     

    何时重构

    其实讲别的没用,当现有代码让你难受时,就重构它。除非已经到了交付的末期。

     

    如何让经理同意重构

    1、如果经理懂技术。那么说服他应该不难。 
    2、如果经理不懂技术,但对质量感兴趣。先让他接受review的价值,然后把重构的意见放入review中。 
    3、如果经理只关注进度(假装也关注质量,其实已经向进度妥协)。不告诉他,自己重构。

     

    间接层的好处

    1、允许逻辑共享 
    2、分开解释意图和实现 
    3、隔离变化 
    4、封装条件逻辑

     

    重构的难题

    1、数据库 
    难点在于数据层与业务层耦合、数据迁移。 
    解决办法:加分隔层、

    2、修改对外接口 
    这不是狭义重构允许做的,但有时你会修改接口。 
    解决办法: 
    接口共存,旧接口调新接口,直到确认旧接口没有再被调用了。 
    不要过早的发布接口。

     

    何时不能重构

    1、旧代码不能通过测试用例的时候 
    2、项目已接近最后期限

    如果一个项目很大,如何重构? 
    把它分成多个模块,分块重构。

     

    重构与性能

    保证软件性能的方法: 
    1、时间预算法。从开始就监控时间,分解每个组件允许耗费的时间,永远不允许其超过这个时间限制。这个是在对系统实时性要求非常高的软件中使用。 
    2、持续关切法。要求程序员任何时刻持续不断的关切新开发的代码,已保证性能。这个很难做到全面。 
    3、重点关切法。一般用的就是这个。类似二八原则,但这个更甚,估计要超过一九原则。90%的优化工作都是徒劳的,只有10%的优化工作是真正解决90%以上问题的。所以,把优化的重点放在这10%工作上。首要的问题,就是如何发现性能拼接在哪里?必须使用检测工具,而不是臆测,臆测的一般是错误的,会让你投入大量的时间到徒劳的工作部分。

  • 相关阅读:
    5 Python3 函数进阶&迭代器与生成器
    2 python第三章文件操作
    4 python内置函数
    python内置函数 eval()、exec()以及complie()函数
    0 字符与字节的区别
    python enumerate() 函数
    1 python 文件处理
    python 之编写登陆接口
    python 之九九乘法表
    第一模块第二章-数据类型整理
  • 原文地址:https://www.cnblogs.com/aoyihuashao/p/10388390.html
Copyright © 2020-2023  润新知