"思考和争鸣总是有意义的"。完全如此。
且不说我同意不同意Eli的观点,一开始看到Eli的评论我还是很兴奋的。
读这本书的时候我正好要修改一个旧系统,都是抱着使用的态度看这本书。由于边看边做,书中的很多方法都可以有立竿见影的效果。不过在阅读之余也感慨作者
的的很多思想是我前所未见的,有时甚至是震撼性的。草草看完了这本书后,我一直很重看本书,着重整理一下阅读新的。不过这段时间比较忙一直抽不出空,看
到Eli的评价我顿时大喜,哈哈,可以趁机整理思路了----而且我一直相信从多种角度看待一本书反才能真正的让我们理解一本书。
当然我还是不能很同意Eli的话----就像Eli不应该全盘同意Michael Feathers的话一样,但是Eli说道的"偏执"问题其实也是我一直
在思考的问题。
比如大学时第一次看《重构》的时候非常不解,很多重构方式,是不是太那个什么了,你看为了去掉临时变量居然还要抽离函数?为了代码清晰,把一个循环里可
以做完的两件事愣是分成两个函数然后分别执行循环,好吗(我以前一个舍友看到这些的时候更是破口大骂:神经啊!)?
后来做了几个项目,再看此书当时就差点泪如泉涌,讲的真TMD有道理,为什么早没看到!的确,通过避免坏味道我可以大大改善软件结构。所以我真应该应该
把自己以前那些愚蠢的想法抛弃然后按照他的方式彻底的把系统改写一遍。
结果我这样做了吗?没有,原因是我觉得作者虽然有道理(可以说《重构》真正让我体验了代码之美)但是把当前系统全部重构成那种风格似乎有点太过了。当时
说不出为什么不应该全盘重构,但是"极端"这个词肯定藏在我的潜意识里。于是,我很矛盾,全重构吧,感觉没必要,不用吧,又觉得好像做一件偷鸡摸狗的事
情。
更后来呢,我才发现这种矛盾是可以协调的。一些原则啊,方法啊你大可同意之,然后使用之,但这不代表你必须在任何情况下都贯彻之。
Prefactor里面有句话可以概括我现在的观点:情境是一切!把一个原则脱离其使用环境加以讨论是毫无意义的,对于原则,我们要问的不是这个原则好
不好,而是我们在什么条件下应该使用这条原则,什么时候不应该使用这条原则。
从此我就彻底抛弃了自己的罪恶感,只要我觉得不适合,我就理直气壮的拒绝使用原则。
不过不得不说很多原则毕竟还是久经考验的,在我决定弃用这些原则前我必须认真斟酌不使用的理由,不然很容易陷入意想不到的问题之中而很难自拔。
所以呢,尽量以实用角度看待这些原则,这本书给我的教益颇多,但是最终还是要根据我自身情况调整为我的风格。我有时觉得读书就像吸血鬼吸血一样,我们唯
一的目的就是从这些猎物中汲取我们所需的营养,其余一切都是附加的,有个吸血鬼老大说过了:不要对你的猎物动情----即使动情了,也别忘了吸他的血,边吸
血边动情.后面这句是我加的。当然了,有很多猎物的血厚着呢,多吸几次也未必能全吸干净,这种猎物,狡猾着呢。
写完突然发现有点离题了,不列提纲的后果......