【来信】
贺老师,我目前正在读一本由马丁.福勒编著的《重构》一书,我现在正在读大二,现在看这本书你认为是否为时过早,若你认可我的做法,你认为我读的这本书有意义吗,或者说能够锻炼我的哪些方面的编程能力。还有,目前的Java继承编译环境下自带了一些重构工具,再来看这本书是否还有意义那,我期待你的答复。
【回复】
你既然正在读,说明这本书就适合你,没有什么不可以读的。
好书并不仅是读一遍就可以的,为时过早的说法并不成立。不同阶段读同一本书,会有不同的感觉和收获。书读多遍,其义自现,大家常讲。我觉得应该深化一下,读多遍,书才能活起来,才能够成为读书者自己的东西。不同阶段的感受相互交融,就是阶梯式成长的过程。
将知识编成一个既成的体系,有道理,也没有道理。哪个知识该先学,哪个知识该后学,也没有标准答案,过早过晚也无从说起。只要读得下去,读下去好了。读不下去时,就放一放。如果这是本好书,记得过段时间再读。早读、晚读,会各有味道。
读书的价值在于接受书中知识,更重要的是与作者交流,处理专业领域问题的思维由此而深化。所以,即使某个技术已经“掌握”,读书也是必要的,任何时候都有其意义。
对最后一个问题,举个旁例。已经有网页编辑工具了,学HTML有必要吗?Java的重构工具,只是一种途径。任何事物并不完美,还需要后来者的参与。这只是一种实现,还可以有另外其他的实现。工具有了,最重要的还是人。在实践中遇到问题将会千姿百态,让工具闪光的依然是人。马先生对重构的理解应该是已经非常深入,但断还需要继续跟进。还有重构之外更多的问题,基于对重构的理解,其发展空间中有你的一席。
你说的书没有看过,听人说过,上卓越浏览一下,觉得应该是本值得关注的书。用自己的方法,凭自己的感觉,看出自己的味道来。
关于个性化的,以个人体验为中心的学习,参看:破除“系统学习”的情结、改变学习模式,在课外学习中获得突破、让大学在个性化的学习中绽放。