我没看完的书
国庆放了8天假,又是放松的时候了,老王借给我一本书《重构--改善既有代码的设计》,我带了这本书,回家去了。
我现在就是在别人代码的基础上工作的,现在的代码不知出自多少个作者,有好几种风格的代码,所以这本书也正合我的需求。现在假期已接近尾声了,书也看得差不多了,我的意思的就是这本书也可以还给老王了。可能就有朋友会问,这本书你已经看完了?
其实,我有很多书都没看完过,我看书很多都是看了三分之一或者二分之一就晾在那里了,比如《C++ primer》《算法导论》《Java编程思想》《python源码剖析》等等。以《python源码剖析》为例,我曾经一个假期闭关学习此书,但看到二分之一的地方遇到了困难,在前面的内建对象,虚拟机框架都比较好理解,但到了函数机制、类机制以及后面的高级话题就很难理解了,看的时候要经常返工,也就是要返回一章之前重新再看一遍,这样重复数次多了就发现效率太低,干脆暂时放在一边,等过一段时间经验多一些也许能更轻松的理解它的内容。
至于《重构》,我的肤浅理解就是让代码更有利于人来阅读和修改,尽量能做到松耦合、高内聚。其实,像我这些没经验的coder,经常做的动作就是拷贝代码,要做一个与现有功能类似的模块,就是拷一大段代码稍做修改,竟然可以跑起来就很高兴。后来拷得多了就发现可以把通用的代码抽出来共用,面向对象给复用带来了很多容易实现方式与结构。
我发现,很多讲述重构或者设计模式之类的书都多都是来用应付变化的,简单的讲就是如果有变化,你应该只修改一个地方,而其它地方可以一点都不动或者很少改动,就能正常使用。
还是那一句话说得好,没有一个项目经理愿意听到程序员说出这样的话,我们要停下来用三个月来整理现在的代码。重构不应该是一项独立的任务,它应该包含在日常的工作当中,就像算法的运用,没有人要求你每天在想某个算法(搞研究的除外),只需要在平常的工作中各个模块中尽量做到优化,减少局部的复杂度,无论是时间还是空间。
还是一个就是,看很多国外的书都发现,书中会把一些很小的需要注意的东西都写出来,很简单的数学公式都有详细的证明,在稍微有些经验的读者都觉得这是不必要的,国外的书很多都非常厚,也许有点这个因素吧。唉,各人看法不同,细节决定成败啊。
Think in Java我也没看完
现在看的是Hibernate in Action, Python核心编程(学校课程设计还是用Asp.NET···)
高内聚、低耦合,封装变化点
2、Yes。在关于中有介绍。