论坛首页 Java企业应用论坛

回复熊节对重构中文版一书在09年所做的再版序言中所提到的一些事儿

浏览 3929 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-08-09  
OO
熊节语:"不得不遗憾地说,尽管'重构'已经成了常用词汇, 但重构技术并没有像我当初乐观认为的那样'变成像空气与水一样普通'"。
言语之中不难看出对现实的一丝失望, 但这就是现实,现实中我们依然看到魔法数字满天飞,依然看到针对业务类型的条件处理语句长到我们不知道它有多长,
依然看到代码中不同的地方却存在着完全重复的代码逻辑。这些不管你喜欢或不喜欢,它就在那里。
文中熊节对如何执行重构也给出的建议,只是听上去苦了点儿--“日积月累的勤学苦练”,话说到这份儿上,也注定了真正执行重构的道路是艰难的。
比起这样的结果,我更希望了解是什么原因造成这样的结果,为什么这么一个好东西而大家却不希望拥有。
这个东西不应该像画廊中的画像,参观时大家聚在一起,然后都说这个真好,参观完了就又都该干嘛干嘛去,
这个东西更应该像菜市场上的物件,如果好就买回家炖炖吃了,让它成为内心、血液、能量的一部分,力量的源泉。

可能的原因:
1.没听说过重构,不知此为何物。如果是这样,那么就通过现再已知的所有渠道去收集与此相关的信息,然后学习它,了解它,掌握它。
   最终知道它是什么,为什么要用它,付出的代价和收益,什么时间、什么地点用它,怎么样使用。
2.听过,但视之为旁门左道。关于这一点,因为缺乏基本的良性土壤,在贫乏的土地上只会产生两种结果,要么颗粒无收,要么
   孤零零的一颗倔强的树苗生长着,环境、气氛很重要。
3.有兴趣进行重构活动,但面向对象技术不扎实。基本的面向对象概念的掌握不牢,比如对象的概念是什么,对象之间关系的讨论,面向对象的定义、特征,基本的设计原则,
设计模式,接口,抽象类,具体类之间的讨论,具体继承与组合之间的讨论,还有其它概念。
   设计和重构就像兄弟俩,重构让设计随着时间的流逝而动了起来,但两者的目标及背后基于的原理、原则是一致的。
当然掌握了这些并不能说掌握了面向对象,事实上掌握这些只是掌握面向对象的必要条件,而非充分条件,即使掌握了这些也只不过走在掌握面向对象的路上,
但每掌握这样的一个知识点,那么就离掌握面向对象近了一点儿。
4.认为不值得重构。认为重构代价太大,随着时间的流逝,量变达到质变,最终眼睁睁的看着代码死亡。
   人从出生,就注定走向死亡,但当死亡来临,人总会迸发出一切能量来阻止死亡,代码的生命周期也是如此,只是代码同人的差别在于,
   人有主观能动性,而代码却没有,代码只是人的支配物,人可以让它草草的死亡,也可以让它的寿命长一些,而重构就是延长代码寿命的良方,
   如果能把代码的生命看做自己的生命,那么就学会重构吧,当打击来临,也许总能化险为夷以延续代码的寿命。
4.习惯养成的艰辛。我所理解的重构,它应该是写代码、修改代码的一种良好习惯,习惯很重要,因为只有形成习惯才能降低大脑的关注点,才能使思考关注高层次
的逻辑,而不是总被低层次的技术细节所干扰。
5.还有其它原因吧。
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics