重构,最开始我对它的理解应该就是代码的调整吧!但是最终在进一步了解的过程当中,才发现自己的想法还是在比较浅的位置上;而对于它比较精准的定义我比较喜欢的是《重构——改善既有代码的设计》这一本书里面作者下的一个定义:一种更为高效且受控的代码整理技术。这种说法在我看来实在是恰当。而为什么我会说自己最初理解的代码的调整是比较欠缺的呢?我拿一个我自己生活中的例子来说一下:“那是一个中午,当我还很惬意的在吃着自己的饭的时候,我的项目经理在旁边写着他在负责的功能代码!结果他就扭过头来对我说,XXX你知道吗?您这个代码一点维护性的没有,我都没有用你的代码,都是自己重新写了一份的;然后我说,我每个代码块不是都不是很多吗?能抽出来当函数的我都抽出来了呀!结果项目经理说的一句话让我一直耿耿于怀,你的代码也就是把方法提出来而已,但是你提出来的方法根本没有办法让我用起来!”我不是一个得道高人,听完这样的评价后,我可以说心里面是不断的拿出千万个理由来反驳,一堆的不乐意可以说是没有哪一个是能真正窝在我的脸皮地下的。但是当真正平静下来的时候,其实看看自己的代码,其实确实发现,也就是把重复的代码抽出来变成一个函数,而这个函数里面可能还有很多的临时变量,以及还有很多其他的功能符合在这个里面都是有的。也就是说,我曾经所谓的代码重构,其实就是一个代码整理而已,为了整理代码其实有时候我会想个半天才能知道自己应该怎么去写,去做,而这个时间的消耗其实最主要的原因就是缺少一种技巧,一种科学性的指导,所以当时我的代码重构,其实就是将臭虫做了下修饰而已,而真正的重构,乃是一种高雅的艺术,它是有方向,有原则的,而不是我自己在那边摸摸脑袋,然后一拍既定的毫无规律可言的修改代码而已!其实这样的修改只会加重代码中存你在的问题。
所以我渴望着能够改变自己一如既往的调整代码的阶段,而是真正的能让自己有一种敏锐的嗅觉,问出代码中的坏味道,并且利用真正能够让代码变得可维护的真正的重构的技术,来重构我的代码。所以为此接下来的几天我将会根据书上的讲解,自己推敲并实践书中所讲的重构技巧,作为每天的学习目标。