zoukankan      html  css  js  c++  java
  • 子程序级的重构

    1.提取子程序或者方法:

      把内嵌的代码从一个子程序中提取出来,并将其提炼为单独的子程序。

    2.将子程序的代码内联化:

      如果子程序的程序体很简单,且含义不言自明,那么就在使用的时候直接使用这些代码

    3.将冗长的子程序转换为类:

      如果子程序太长,可以将其转换为类,然后进一步对之前的子程序进行分解,通过所得到

      的多个子程序来改善该代码的可读性。

    4.用简单算法替代复杂算法:

      用更为简单的算法来替代复杂的算法

    5.增加参数

      如果子程序需用从调用方获得更多的信息,可以增加它的参数从而为其提供信息。

    6.删除参数

      如果子程序不再使用某个参数就删除它。

    7.将查询操作从修改操作中独立出来:

      通常查询操作并不改变对象的状态,因此一旦有类似GetTotal()的操作改变了对象的状态,

      就应该将查询功能从状态改变功能中独立出来,提供两个独立的子程序。

    8.合并相似的子程序,通过参数区分他们的功能:

      两个相似子程序的唯一区别或许只是其中用到的常量值不同。请把他们合并到一起,然后

      将常量值通过参数传入。

    9.将行为取决于参数的子程序拆分开来:

      如果一个子程序根据输入参数的值执行了不同的代码,请考虑将它拆分成可几个以被单独

      调用的、无须传递特定参数的子程序。

    10.传递整个对象而非特定的成员:

      如果发现有同一个对象的多个值被传递了一个子程序,考虑是否可修改其接口使之接受整个对象。

    11.传递特定成员而非整个对象:

      如果发现创建对象的唯一理由只是你需要将它传入某个子程序,那么就考虑一下是否可以修改这个

      子程序,使之接受特定的数据而非整个对象。

    12.包装向下转型的操作:

      通常当子程序返回一个对象时,应当返回其已知的最精确的对象类型。这尤其适用于返回迭代器、

      群集、群集元素等的情况。

  • 相关阅读:
    selenium 8大元素定位方法
    selenium环境安装及简单使用
    Python json序列化和反序列化
    pytest使用allure生成测试报告
    Windows10下JDK15的安装教程
    Ansible:服务器巡检_3、Windows 平台巡检
    转载:shell中各种括号的作用详解()、(())、[]、[[]]、{}(推荐)
    Tips: Linux 中 当形参名称是 变量时,如何取出全部的实参
    Python 问题记录:XXX.whl is not a supported wheel on this platform.
    Ansible:服务器巡检_2、Linux 服务器巡检脚本
  • 原文地址:https://www.cnblogs.com/liandy0906/p/5904477.html
Copyright © 2011-2022 走看看