重构
文章平均质量分 77
~卷心菜~
这个作者很懒,什么都没留下…
展开
-
重构手法——简化条件逻辑
程序大部分功能来自条件逻辑,复杂度也大多来自条件逻辑。我们有时候需要借助重构把条件逻辑变得更容易理解。比如: 分解条件表达式:处理复杂的条件表达式 合并条件表达式:厘清逻辑组合 以卫语句取代嵌套条件表达式:在主要处理逻辑之前先做检查 switch逻辑:以多态取代条件表达式 分解条件表达式(Decompose Conditional) 本重构手法其实只是提炼函数的一个应用场景。我们可以对条件判断和每个条件分支分别运用提炼函数 // 假设计算购买某样商品的总价(总价=数量x单价),商品在冬季和夏季原创 2022-02-08 21:32:28 · 645 阅读 · 0 评论 -
重构手法——封装
分解模块时最重要的标准,也许就是识别出那些模块应该对外界隐藏的小秘密了。封装的对象可以包括数据结构、基本类型、临时变量、函数等。常见的封装手法如下: 数据结构:封装记录或封装集合 基本类型数据:以对象取代基本类型 临时变量:以查询取代临时变量 函数:组合成类 类内部细节:隐藏委托关系 封装记录(Encapsulate Record) 记录型结构是多数编程语言提供的一种常见特性。它们能直观地组织起存在关联的数据,让我们可以将数据作为有意义的单元传递,而不仅是一堆数据的拼凑。 dui'duix .原创 2022-02-08 08:49:29 · 451 阅读 · 1 评论 -
重构测试体系构筑
重构是很有价值的工具,但只有重构不行。要正确地进行重构,前提是得有一套稳固的测试集合,以帮助我们发现难以避免的疏漏。 编写优良的测试程序,可以极大提高我们的编程速度,即使不进行重构也一样如此。 1. 自测试代码的价值 如果你认真观察大多数程序员的时间,就会发现,他们编写代码的时间仅占所有时间的很少一部分。有时来决定下一步干什么,有时花在设计上,但是花费在调试上的时间是最多的。 一套测试就是一个强大的bug侦测器,能够大大缩减查找bug所需的时间。确保所有测试都完全自动化,让它们检查自己的测试结果。原创 2022-01-05 19:08:18 · 583 阅读 · 0 评论 -
代码的坏味道
何时必须重构是没有一个精确衡量的标准的。没有任何量度规矩比得上见识广博的直觉。你必须培养自己的判断力,学会判断一个类内有多少实例变量算是太大、一个函数内有多少行代码才算太长。本章我们举例一些“坏味道条款”,以作参考。 1. 神秘命名(Mysterious Name) 整洁代码最重要的一环就是好的名字,好的命名能清晰地表达自己的功能和用法。改名可能是最常用的重构手法,包括改变函数声明、变量改名、字段改名。很多人经常不愿意给程序元素改名,觉得不值得费这个劲,但好的名字能节省未...原创 2022-01-02 15:42:58 · 434 阅读 · 0 评论 -
重构的第一步
如果你要给程序添加一个特性,但发现代码因缺乏良好的结构而不易于进行更改,那就先重构那个程序,使其比较容易添加特性,然后再添加该特性。 重构的第一个例子 //plays.json... { "hamlet": {"name": "Hamlet", "type": "tragedy"}, "as-like": {"name": "As You Like It", "type": "comedy"}, "othello": {"name": "Othello", "t...原创 2021-12-30 01:49:56 · 214 阅读 · 0 评论 -
《重构》——写在前面
高僧有偈云:“时时勤拂拭,勿使惹尘埃”。用这句话来勉励我们这些码农,也是对我们在搬砖的道路上,追求卓越,精进技艺的一种鞭策。 何为重构?怎样才能做好重构?这些问题小编也在时时思考和实践,对于马丁.福勒的这本书也是时时翻阅,为了提炼精华,总结要点,方便后面查阅,也为了能跟广大码友有共同切磋,一起进步的机会,后面我会对这本书的精华做些总结,欢迎来踩~ 识别坏味道、测试先行、行为保持的变更动作,是重构的基本功。重构这门技艺,以及福勒先生撰写《重构》的态度,代表的是软件开发的匠艺--对“正确的做事方式”的重视。原创 2021-12-23 13:55:26 · 217 阅读 · 0 评论