重构改善既有代码的设计
“重构”这个概念来自Smalltalk圈子,没多久就进入了其他语言阵营之中。由于重构是框架开发中不可缺少的一部分,所以当框架开发人员讨论自己的工作时,这个术语就诞生了。当他们精炼自己的类继承体系时,当他们叫喊自己可以拿掉多少多少行代码时,重构的概念慢慢浮出水面。框架设计者知道,这东西不可能一开始就完全正确,它将随着设计者的经验成长而进化;他们也知道,代码被阅读和被修改的次数远远多于它被编写的次数。保持代码易读、易修改的关键,就是重构--对框架而言如此,对一般软件也如此。
好极了,还有什么问题吗?问题很显然:重构具有风险。它必须修改运作中的程序,这可能引入一些不易察觉的错误。如果重构方式不恰当,可能毁掉你数天甚至数星期的成果。如果重构时不做好准备,不遵守规则,风险就更大。你挖掘自己的代码,很快发现了一些值得修改的地方,于是你挖得更深。挖得愈深,找到的重构机会就越多,于是你的修改也愈多……最后你给自己挖了个大坑,却爬不出去了。为了避免自掘坟墓,重构必须系统化进行。我在《设计模式》书中和另外三位作者曾经提过:设计模式为重构提供了目标。然而“确定目标”只是问题的一部分而已,改造程序以达到目标,是另一个难题。
Martin Fowler和本书另几位作者清楚揭示了重构过程,他们为面向对象软件开发所做的贡献难以衡量。本书解释了重构的原理和最佳实践,并指出何时何地你应该开始挖掘你的代码以求改善。本书的核心是一系列完整的重构方法,其中每一项都介绍一种经过实践检验的代码变换手法的动机和技术。某些项目如ExtractMethod和Move Field看起来可能很浅显,但不要掉以轻心,因为理解这类技术正是有条不紊地进行重构的关键。本书所提的这些重构手法将帮助你一次一小步地修改你的代码,这就减少了过程中的风险。很快你就会把这些重构手法和其名称加入自己的开发词典中,并且朗朗上口。
-
学习R编程语言
R是一种编程语言,也是用于数据分析和统计的软件环境。它是一个GNU项目,这意味着它是自由的开源软件。它正在以指数级的速度不断成长——普... 1039 0 24-05-24 -
EyouCms 易优内容管理系统
EyouCms是什么,EyouCms是一个自由和开放源码的内容管理系统,它是一个可以独立使用的内容发布系统(CMS)。以模板多、易优化、开源而闻名... 427 0 21-07-02 -
free考研考试 免费考研网
网页Free研究生招生网发布最详细最准确的考研研招信息,同时提供国内外各大高校历年研究生招生简章、考研专业目录、考研参考书目、考研复试... 1745 0 24-07-17 -
DriverTalentPro驱动人生国际版 汉化破解绿色版
驱动人生海外版也就是Driver Talent Pro,这是一个知名的网络驱动更新工具,可以一键检测系统所需要的驱动,并且更新驱动版本。您的硬件... 1092 0 25-05-17 -
ChatGPT与AI绘画的本质
研究了四个多月AI绘画,又把ChatGPT作为日常工具用了一个多月后,忽然有点明白特德·姜那篇《ChatGPT是互联网的一张模糊JPEG图像》背后的含... 948 0 24-05-10 -
spotify app全球范围的正版音乐服务软件
Spotify,中文名又称声田或声破天,是全球领先的正版音乐流媒体服务平台,2008年10月在瑞典首都斯德哥尔摩正式面向公众开放。作为目前... 994 0 25-06-04 -
字母索引搜索
434 0 21-06-02 -
电脑PC单机游戏下载网站合集
正版游戏不是去官网下,就是在各大游戏平台下,简单说就是在哪买就在哪下正版游戏平台国内游戏平台腾讯 WeGame:https://www.wegame.com.c... 933 0 25-03-10
发表我的评论
- 这篇文章还没有收到评论,赶紧来抢沙发吧~