重构阅读笔记(一)
一.说明
1.《重构》读书笔记指的是对fowler先生《重构》第二版的阅读观感(以下称重构2),这个版本或许像译者所说的fowler先生想要传达的理念是:
千里之行积于跬步,越是面对复杂多变的外部环境,越是要做好基本功、迈出扎实步。
2. 译者认为重构2的重构原则是: " 旧的不变,新的创建,一步切换,旧的再见。"
3.《重构》传达的是一种工匠精神。我喜欢的译者观点是:一个对匠艺上心的专业人士,日积月累对过程与方式的重视,是能有所成就的。
二.第一章
1.何为重构?
重构是一种经千锤百炼形成的有条不紊的程序整理方法,可以最大限度地减小整理过程中引入错误的概率。本质上说,重构就是在代码写好之后改进它的设计。
2.为何重构?
在软件开发的大部分历史时期,大部分人相信应该先设计而后编码:首先得有一个良好的设计,然后才能开始编码。
但是,随着时间流逝,人们不断修改代码,于是根据原先设计所得的系统,整体结构逐渐衰弱。代码质量慢慢沉沦,编码工作从严谨的工程堕落为胡砍乱劈的随性行为。
设计不是在一开始完成的,而是在整个开发过程中逐渐浮现出来。在系统构筑过程中,我学会了如何不断改进设计。这个“构筑-设计”的反复互动,可以让一个程序在开发过程中持续保有良好的设计。
3.第一个重构实例
设想有一个戏剧演出团,演员们经常要去各种场合表演戏剧。通常客户(customer)会指定几出剧目,而剧团则根据观众(audience)人数及剧目类型来向客户收费。该团目前出演两种戏剧:悲剧(tragedy)和喜剧(comedy)。给客户发出账单时,剧团还会根据到场观众的数量给出“观众量积分”(volumecredit)优惠,下次客户再请剧团表演时可以使用积分获得折扣——你可以把它看作一种提升客户忠诚度的方式。