从“凌波微步”到“道法自然”

来源:互联网 发布:程序员推荐书籍搞笑 编辑:程序博客网 时间:2024/04/28 17:10
从“凌波微步”到“道法自然” (专家韩磊2004-9-20 10:58:12)    12人同意、20人反对
王咏刚的文章,曾经在《程序员》杂志以“凌波微步II”的专栏题目发表过多篇。其实这个专栏是其著作《凌波微步》的后续——盖作者认为一本书尚不足道尽各种秘辛,故另辟疆土,继续战斗。
  除杂志文章外,王咏刚还常在其Blog专栏中撰文,主题涉猎颇广。显然作者试图跳出《凌波微步》讲项目管理的圈子,在其它开发相关领域“讲述自己的故事”。
   听说王咏刚与其兄长王咏武合著《道法自然——面向对象实践指南》,不由得心中一惊——王氏作品,常因为“务虚”——一些读者的看法,我对此并不赞同——而为人所诟病,写这样一本书,是否意味着某种意义上的“硬着陆”呢?再,面向对象是每位程序员耳熟能详、甚至每天要干的事情,这样一本书,会不会让人觉得是老生常谈,絮絮叨叨不知所云呢?避“虚”就“实”,再加上一个普通得不能再普通的题目,这本书的命运似乎就值得担心了。
  
  
   从博文公司拿到还没有出版的《道法自然——面向对象实践指南》,看完之后,有几个感觉:
  
   一、 不管是软着陆还是硬着陆,这本书的确落到了实处。全程跟踪解析一个实际项目,描述过程中种种问题及解决方案,总结出应当遵循的原则……每一章节都是来自于实践,也对项目实践有指导性的意义。
  
   二、 在回归实践的同时,作者眼界却比《凌波微步》时更高了。我们每天都在将世界抽象为类,都在不停地创建对象,都在与继承、接口打交道;在因为对这些技术运用自如时,往往会陷入偏执,执着于寻找“银弹”——放之四海而皆准的面向对象解决方案。书中告诉读者:面向对象领域充满了辩证关系,开发者不得不在每一个设计和实践环节中仔细权衡,择善而从。这句话可谓是贯穿全书的“书眼”,一语道破天机。的确,在项目开发过程中,每一阶段都会面临和做出选择,误入歧途的结果就是满盘皆输。可以说整个项目开发过程,就是不断做选择的过程:从需求分析到具体实现,从系统框架到一个类的设计。没有选择的项目是不可想象的。
  
  
   三、 如果说《凌波微步》是销金断玉的宝剑,那么,《道法自然——面向对象实践指南》就是一把黑黝黝实沉沉的重剑。所谓“重剑无锋,大巧不工”,这把重剑让我们看到王氏兄弟轻灵步伐后面的深厚功力和丰富经验。那些不喜欢《凌波微步》的程序员读者,大可在这本书中扭转对作者的印象。俗语说得好:光说不练是假把式,光练不说是傻把式。前后两本书,一说一练,形成了有趣的对比。
  
  
  
   《道法自然——面向对象实践指南》是作者经验和理论的凝聚,虽然是讲一个项目,但聪明的读者却能从中悟出禅机来。我想要紧的是怎样去读这本书。书的开头,作者就给出了“一份关于本书的FAQ”,给出了具体的指引。我总结一下,再加上点自己的理解,大致如下——
  
   一、 你需要有基本的面向对象知识和技能(也包括UML相关知识)。这本书不是入门读物,不会教你怎么扎马站桩,对OO一无所知的朋友,应该先去补补课。
  
  
   二、 你要做好被顿喝的准备。曾经见过许多以用面向对象语言开发的非面向对象程序,这些程序的作者,也许会被接连不断的“顿喝”打击得不知所措。
  
  
   三、 善于模仿、善于总结。阅读这本书的过程,如同在观看别人练剑术。练剑者也许不会把每一招的诀窍和要点讲出来,对整套招数的讲解也许只停留在点到为止的层面。这时,如果你能一步一步跟着书中项目组成员去做,随时思考,再从全局角度返观内照,才能悟到“剑法”之外的“心法”。
  
   我会毫不犹豫地向每一位程序员推荐这本书。同时我也强烈期待作者的下一部著作。从《凌波微步》到《道法自然——面向对象实践指南》,是从宝剑到重剑的转变;下一本书,能否来一次彻底升华,“枯枝断木,无不遂心所用”,真正做到“道法自然”?想必这也是作者自己想去回答的问题吧。