• 重构:改善既有代码的设计有感3


    书的第六章讲到重新组织函数有以下这么几个点

    1 . Extract Method 提炼函数
    将一段代码放进一个独立函数中,并让函数名称解释该函数的用途。
    增加可读性,函数粒度小更容易被复用和覆写。

    2 . Inline Method(内联函数)
    在函数调用点插入函数本体,然后移除该函数。
    函数的本体与名称同样清楚易懂,间接层太多反而不易理解。

    3 . Inline Temp(内联临时变量)
    将所有对该变量的引用动作,替换为对它赋值的那个表达式自身。

    4 . Replace Temp with Query(以查询取代临时变量)
    将一个表达式提炼到一个独立函数中,并将临时变量的引用点替换为对函数的调用。
    临时变量扩展为查询函数,就可以将使用范围扩展到整个类。
    减少临时变量,使函数更短更易维护。

    5 . Introduce Explaining Variable(引入解释性变量)
    将该复杂表达式的结果放进一个临时变量,以变量名来解释其用途。

    6 . Split Temporary Variable(分解临时变量)
    针对每次赋值,创造一个独立、对应的临时变量。
    临时变量会被多次赋值,容易产生理解歧义。
    如果变量被多次赋值(除了“循环变量”和“结果收集变量”),说明承担了多个职责,应该分解。

    7 . Remove Assignments to Parameters(移除对参数的赋值)
    以一个临时变量取代该参数的位置。
    对参数赋值容易降低代码的清晰度;
    容易混淆按值传递和按引用传递的方式 ;

    8 . Replace Method with Method object 函数对象取代函数
    一个大型函数如果包含了很多临时变量,用Extract Method很难拆解,
    可以把函数放到一个新创建的类中,把临时变量变成类的实体变量,再用Extract Method拆解。

    9 . Substitute Algorithm 替换算法
    复杂的算法会增加维护的成本,替换成较简单的算法实现,往往能明显提高代码的可读性和可维护性。

    作者提出这几个点来告诉我们怎样更好更健康的来书写我们的代码,是一本适合有代码开发经历的程序员阅读,会有醍醐灌顶的感觉,同时也需要比较高的技术力,至少以我目前的水平我很多东西做不到,甚至理解不了,这本书,会让程序员对代码有敬畏之心要谨慎考虑开发代码,需要考虑的东西很多,而我们需要注意的去意识到问题,修改问题,提高开发水平。




  • 相关阅读:
    应用中心无法访问时后台插件列表访问慢的优化
    HTML5 地理定位 【来自百度应用分享平台】
    快捷键补充
    进击的雨燕------------在导航上的UISearchController实现动画效果
    iOS -------- 应用程序引用系统通讯录
    字典和JSON格式字符串相互转换
    进击的雨燕--------------------Swift ? !
    Objective-C多继承的实现
    进击的雨燕------------iOS8中UIAlertController
    进击的雨燕-------------------高级运算符
  • 原文地址:https://www.cnblogs.com/buyaoya-pingdao/p/14953262.html
Copyright © 2020-2023  润新知