本人一向有周六逛书店的习惯,今天也不例外。今天高兴的是在看书的时候有一个漂亮MM坐在我旁边^_^,更兴奋的是今天发现的这本好书《程序员修炼之道》,这本书其实我早就听说过,但是碍于时间的关系,一直没有读该书的原版,今天发现了这本书的译本,着实让我高兴了一番!
忍着饥肠辘辘,在书店一口气读完了该书的第一章,读完后,只能用一个字形容我当时的心情,“爽”。对该书的两位作者产生了由衷的敬佩。
第一章中我认为最经典的就是下面这些句子了:
关于破窗户理论:一扇破窗户,只要有那么一段时间不修理,就会渐渐的给建筑的居民带来一种废弃感- -种职权部门不关心这座建筑的感觉。于是又一扇窗户破了。人们开始乱扔垃圾。出现了乱涂乱画。严重的结构损坏开始了。在相对较短的一段时间里,建筑的损毁得超出了业主愿意修理的程度,而废弃感变成了现实。
作者针对该理论引申出了软件中的“破窗户”,一个良好的软件系统,一旦出现了破窗户,如果不及时的修理,那么该软件系统就会迅速的腐烂、恶化。
关于这一点,我还是有一定的感触,我们部门的一个产品在持续到1.X版本的时候,已经到了无法维护的地步了,出了BUG,几乎无法在定位了,这就是“破窗户”效应。好在部门及时开发了该产品的2.X版本,该版本产品的设计和编码都是全新的,但是随着该版本在市场上将近一年半的摸爬滚打,面对客户无穷无尽的需求,该版本也开始出现了“破窗户”,曾几何时,我也产生了这样的想法“这些代码的其余部分也是垃圾,我只有照着做就行了”。多么可怕的想法,“破窗户”效应正发生在我的身上。我觉得是时候开始修复那些“破窗户”了,让我们的代码变得干净漂亮。就像该书里提到的那个“灭火”例子一样,一个干净、整洁的软件系统,你会格外注意不要把它弄脏。
在有就是书里提到的那个“石头汤”的例子,这个例子和我,还有我一个同事的想法不谋而和。当你觉得一个东西非常好,可以在项目里使用的时候,你向大家推荐这个东西,然而大家对待这个东西却是非常的木然,这个东西显然没有引起大家的兴趣,而我那个同事就会抱怨:“这群家伙怎么这样,和他们提出新东西,新想法简直浪费!”。后来,我们两个聊天一致认为,我们的方式本身有问题,我们应该先做出一个小的像样的东西,然后在向大家推荐这个东西,这样能激起大家足够的兴趣。就象该书里说得那样:让他们大吃一惊,然后说:“要是我们增加。。。。可能就会更好”。
我和那个同事,都有把自己掌握的知识分享给其他同事的习惯,经常在部门里组织一些培训。但是交流效果一直不是非常理想,我那个同事就会抱怨“其他同事对这个东西进行发问的时候,总是问不到点子上,接受新东西能力差”。但是,反过来,我们培训的方式本身是不是有问题那,我们有没有了解我们的听众。你想让他们学到什么?他们对你讲的什么感兴趣?他们有多富有经验?他们想要多少细节?你想要让谁拥有这些信息?你如何促使他们听你说话?这些个问号,我们在培训开始前确实没有认真考虑过,就象我前一段给部门做的一个《ACE和多线程技术》培训时候,参加这个培训有一些做JAVA的同事,当我培训的时候,一口一个POSIX标准的时候,我全然不知他们不太知道什么是POSIX标准,到后来终于一个同事问了什么是POSIX标准的时候,我才恍然大悟,原来这些东西他们不太了解,这就是培训方法的问题。培训、交流、演讲确实是一门学问,一个好的交流或培训,即使持续了好长时间,大家依然全神在听,否则很多人要不了一会就开始“神游”了;一个好的将军,在战斗打响前的演说成功与否,可能直接影响着这场战役的胜败!
在有就是E-mail交流问题,我们的一个女同事,由于工作上的职务关系,要经常给整个部门的同事群发邮件,但是几乎很少能得到回复,她因此很是伤心^_^,我为了开导她,给她讲了什么是“大众冷漠”现象,一个强盗在很多人的大街上打劫,但是大家没人去阻止这件事情,就是因为阻止这个强盗的责任平均分摊到了很多人头上,那么每个人都认为这不是我的责任。但是,能及时的回复其他人的邮件,确实是一种礼貌的行为,就象书里说得哪样,即使内容只是“我稍后回复你”。我也曾经因为其他人没有及时回复我的邮件,而大发脾气^_^。
今天,确实是收获颇丰的一天,《程序员修炼之道》仅仅第一章就给了我这么多感触,我想我接着读下去,会激出更多的思想上的火花,我拭目以待。。。。