zoukankan      html  css  js  c++  java
  • 重构—改善既有代码的设计5——重构列表

    1.寻找引用点

      盲目查找、替换,出错机会高。不同类中使用相同的函数名称;同一个类中使用名称相同、签名不同的函数。

      直接删除旧的部分,让编译器帮你找出引用点。好处:编译器会找到所有引用点。

        问题:

          被删除部分在继承体系张声明不止一次,编译器也会被迷惑(覆写多次的函数)。如果在一个继承体系中,先利用文本查找工具,检查是否由其他类声明了你正在处理的哪个函数

          编译器可能太慢,使工作失去效率。先用文本查找工具,编译器可复查:先观察这一部分运用情况

          编译器无法找到通过反射机制而得到的引用点。小心使用反射。使用文本查找工具,测试分量加重;通常建议只编译,不测试,因为编译器通常会捕捉到可能的错误;使用反射,所有的便利都没有了,必须为许多编译搭配测试。

          某些Java开发环境,可使用菜单选项来查找引用点,而不是使用文本查找工具,因为这些开发环境并不以文本文件保存代码,而是使用一个内置数据库。

    2.重构成熟度

      基本技巧:小步前进,频繁测试

      让重构手法适应你自己的情况。“使用某个重构手法”不同于“将它浓缩成可重复的做法步骤”

      前提:单进程软件。

        单进程:永远不必操心频繁调用某个函数,因为函数的调用成本很低

        分布式:函数往返必须被减至最低限度。

      引入设计模式,设计模式为重构行为提供了目标,模式和重构之间有着一种与生俱来的关系。

        例如:replace type code with state/strategy、form template method 

        模式:希望到达的目标;重构:到达之路

      重构仅仅是一个起点,尽管不完美,但是有用

      发展属于自己的重构手法,使用自己的创造力

  • 相关阅读:
    CharacterEncodingFilter详解及源码解析
    SPI 串行Flash闪存W25Q128FV 的使用(STM32F407)_硬件篇
    STM32 TFT LCD
    什么叫状态机:按键消抖实例
    STM32 ADC单通道采集 (STM32F103C8T6 ADC1的0通道 )
    STM32 PWM输出 (STM32F103C8T6 TIM2_CH2 )
    STM32 多通道ADC连续采集之数据到内存 DMA传输
    STM32 DAM之串口通讯
    STM32定时器之PWM 4路输出 TIM3、TIM14
    STM32定时器 TIM14之PWM 可调脉宽输出 呼吸灯
  • 原文地址:https://www.cnblogs.com/panpanwelcome/p/7491973.html
Copyright © 2011-2022 走看看