程序员的修炼之道:从小工到专家读后感2
程序的修炼之道:从小工到专家
第一章:注重实效的哲学
1.我的源代码让猫吃了
J.B.Bossuet说过“在所有的弱点中,最大的弱点就是害怕弱点”。一个注重实效的程序员,并不害怕承认无知与错误。一个被认为最好的项目中,尽管有彻底的测试,良好的文档以及足够的自动化(自动化是什么鬼?),程序还是会出错。
但是,一个程序员必须要诚实和坦率来应对这个问题。责任是一个程序员应该主动承担的东西。我们能承诺完成一件确定的事情,但是我们不能直接控制事情的每一个方面,所以做之前需要对这件事情先做风险预估。但是,当你确实要为某个结果负责时,就必须切实担起责任。不能将问题归咎于别人。要提供各种选择,而不是找借口。
2.软件的熵
我们都学过物理,熵中的是某个系统中无序的总量。当软件中的无序增长是,程序员称之为“软件腐烂”。有许多因素可以促生软件腐烂:其中最重要的一个似乎是开发项目的心理。这其中存在着一种迷人的触发机制,一种能够很快将整洁、完整编程无序的机制—=破窗户:一闪破窗户,只要有一段时间不修理,就会渐渐给旁边的居民带来一种废弃的感觉—职权部门不关心这座建筑的感觉。于是又一扇窗户破了,于是又一扇破了,于是开始出现:乱倒垃圾,乱涂乱画,进而变成了废墟。不要留着“破窗户”(低劣的设计、错误决策、或者是糟糕的代码)不修理。就会引发破窗效应。如果你没有足够的时间进行适当的修理,就把出问题的代码放入注释,或者显示“未实现的消息”,或者使用虚拟数据加以替代。
灭火
我理解的意思就是一个团队需要共同保持代码的“漂亮”。编写整洁、设计优良。因为一旦项目中有一扇“窗户”破了,就会引发破窗效应。
3.石头汤煮青蛙
这个故事是个很经典的故事。一项协作的成果,最后每个人都是赢家。每个人都护卫者着自己的资源。当你想要请求他人帮你去做一些事情的时候,你会遇到拖延和冷漠,事情会变得复杂化,这个叫做启动杂役。这个时候正是拿出石头的时候。设计出你认为合理要求的东西,然后说“要是我们增加….会更好”人们发现,参加正在发生的成功要更容易。让他们瞥见未来,让他们在你周围聚集。
村民的角度:温水煮青蛙。不要青蛙一样,只顾眼前,要留心大图景,要持续不断的观察周围的事情,而不是自己正在做的事情。