《梦断代码》——理智上悲观,意志上乐观

在《梦断代码》的第二章中,作者举了一系列软件开发史上的灾难事件:FBI投资4亿美元,花费10年时间进行的Trilogy项目,最终得到的却是一个缺陷缠身的原型版本;IRS(美国国内税务局)花费了十年劳力和20亿美金的系统升级项目以失败告终;麦当劳耗资1亿7千万美金的Innovata项目也以失败告终......抛开具体的细节不谈,他们失败的模式都是一致的:标靶移来移去,目的忽上忽下,计划不切实际,期限一拖再拖,预算膨胀超支。

为什么如此多的项目中会出现这些共同问题?其中一个原因就是“程序员都是乐天派”。他们会认为计划一定会按时完成,bug一定会及时改正,时间还很充足,定下的需求都能实现。拥有乐观的心态固然是一件好事,但往往在乐观的心态下,我们的思维转的没有有压力时那么快,同时也不够缜密,这就导致在coding时容易犯错误,使项目完成的期限一拖再拖。所以,作为一个合格的程序,我认为应该秉持“理智上悲观,意志上乐观”的工作态度。

第三章中提到“好程序员懂得些什么,而卓越的程序员知道改写什么”。我认为这句话说得很对,因为很多功能需求在一些其他项目中已经实现,我们没必要再去重新写一份类似的代码,只要会改写已有的代码就行了,能搭上顺风车也是一种本事。

本章节中还提到“编程时,读代码的时间要远远多于写代码的时间。你对待源代码的方式,和雕刻家对待黏土的方式一样。所以,一种语言如果让源代码显得丑陋,就会叫苛刻的程序员发疯,仿佛雕塑家遇上了满是硬块的黏土一般。”这个比喻非常恰当,俗话说“人靠衣装,佛靠金装”,代码也是这个道理,如果你的代码显得混乱不堪,让阅读的人摸不着头脑,即使能实现所需要的功能,那这也是一段失败的代码。因为,当今代码的“可读性”是处在非常重要的地位的。

原文地址:https://www.cnblogs.com/ustc-anmin/p/9683103.html

时间: 2024-11-08 21:45:42

《梦断代码》——理智上悲观,意志上乐观的相关文章

梦断代码阅读笔记01

大致浏览了一下<梦断代码>这本书,觉得还是挺感兴趣的.第一章软件时间,作者以一名程序员的身份自述,故事性很强,读起来不会感觉枯燥.在第一章中作者认为程序员与其他人的不同之处在于他们从一开始,而我们从零开始,想来也正是如此,他谈了软件的发展历程以及过程中好多伟大的研究者为其发展而做的贡献,这个行业也是很多前辈付出了诸多努力才推出来的,所以需要我们付出更多的努力去发展他. 第二章中作者讲到我们做任务需要蓝图,也就是需要有计划,提前计划好,按计划来做任务,这样对于碰到一些问题才不至于举手无措,另外在

《梦断代码》阅读计划

所谓行千里路,读万卷书.学习一门课程不能单单放眼于一本教课书或者课堂上的内容,应该博览群书,从各个方面各个角度来了解该方面的信息,才能更好地学习或者从事这门课程.<梦断代码>这本书显名于外,在老师的极力推荐下我决定将它作为最近一段时间的读物.这本书是由一个个小故事组成的,并不是其他理论书那般枯燥,毕竟最好的学习就是兴趣. 回到这本书,我的计划就是在两个星期内大致地将这本书读完,然后依据其中的精彩之处再细细研读,我认为真正“读”一本书需要做好读书笔记以及自己的感受和收获的总结. 另外,作为一个信

梦断代码阅读笔记之一

最近阅读了罗森伯格的<梦断代码>,算是近距离观察了十几年前软件开发的状态.这本书是作者对OSAF主持的Chandler项目进行田野调查  而写的一本书.本书是在讲一事,也是在讲百千事:是写一软件,也是在写千百软件.在描述Chandler项目的过程当中亦提出了很多观点,带给我们很多思考.让我们这些软件工程专业的学生对软件开发有了一个更深层次的认知. 在本书第一章,作者为我们介绍了一个布鲁克斯法则:"往已延误的项目里补充人力,只会使其继续延误". 布鲁克斯曾是IBM的资深程序经

&lt;&lt;梦断代码&gt;&gt;阅读笔记一

没有想象中的枯燥,甚至有些有趣.这就是我对<梦断代码>这一本书的第一印象.而且,作为一本面向程序员的书籍,作者很有意义地从第0章开始,那我也从第0章开始说.这第一次读书笔记是针对0~2 章的. 首先,作者一开始就向我们介绍了程序员的真实生活:代码.日期.紧张.焦虑.这是我从书中体会出来代表程序员的词 语.我第一次感到编程可能是一件辛苦的事,回想自己编程的时候,只是歇一歇简单的短的程序,没有压力,没有焦虑,但是在真正的公司.项目中,程序员要面对的是茫茫代码以及对未来的未知,因为没有人能确定自己从

梦断代码阅读笔记二(4-7章)

在上一周<梦断代码>读完了第七章,全书已经过半,对于这本书有了更深的体会,对于软件开发之难也更加理解.      乐高王国一章中引出了一个代码世界或者说程序员世界里的美好设想——程序将由可复用的部件组合而成,软件部件将在全球范围内提供,软件工程将从编程的窠臼中解放出来.软件组件就像乐高积木一样,细小.不能再分.可被替代.可以自由组合.这是代码复用的概念,这会省去编写代码的麻烦,但是也存在不少问题,诸如大型可复用组件的稀少,有些程序员不愿拾人牙慧等等.其实我认为这是一个不错的设想,也是一个值得努

《梦断代码》阅读笔记Ⅰ

一.当前进度以及新的阅读计划 目前,我已阅读到正文的P78,也就是刚开始看第四章:乐高王国. 我尽量坚持每天阅读至少10页,但是由于自己的懒惰以及各种原因,这个“项目”已经延误了. 因此,我得实时地更新我的阅读计划.在剩下的20天里阅读326-78=248页的正文,折合每天12.4页. 希望自己督促自己,能严格按照计划进行或提前完成. 二.阅读感想 首先,<梦断代码>这本书我只有电子版,虽然携带方便,但是大多数人更喜欢阅读纸质得书籍,包括我.所以整个阅读过程体验不太好. 其次,我都是利用一些零

《梦断代码》读后感 - 驱动,责任,交流,远虑

这三篇读后感原来发布在我自己申请的域名 yishan.cc 上面,后来这个域名被墙了. (原文写于2008年12月) 几个星期前,我给<现代软件工程>课的每一个团队都发了一本 <Dreaming In Code>的中文版 <梦断代码>,要求写读后感.这本书讲了这样的故事:一群很有经验的代码牛人在先进软件开发模式的指导下,没有资金压力,在更多大牛的带领下,原计划用一到两年的时间开发出一个备受期待的个人信息管理软件(PIM),后来花了七年时间才完成这一创举,但是已经无人喝彩

读书笔记:《梦断代码Dreaming in Code》

读书笔记:<梦断代码Dreaming in Code> 拿到<梦断代码>书后,一口气翻了一遍,然后又用了3天时间仔细读了一遍,也不禁掩卷长叹一声,做软件难.虽难,仍要继续走下去,可以把软件的范围限制得小一些,用敏捷方法等过程会使软件失败的风险小一些,毕竟我们还没有写书上所说的那样的大型软件. 第0章 软件时间 一开始看到第0章并没有感觉多么奇怪,可能程序员的思维方式已经固化在大脑中了,但读到作者关于第0章无意搞笑时,也不禁哑然失笑,为什么程序员要 从0开始计数?因为计算机从0开始计

梦断代码之读书笔记

读<梦断代码>有一段时间了,此书从卡普尔的chandler项目深刻剖析了"软件难做"的几大原因,每章都使人回味无穷.合上书本,我作为一名计算机系的学生,感到了无形的压力.从我一开始接触代码时,我对她又爱又恨.每当编译且运行成功时,感觉自己已经创造了有价值有意义的事物,那种莫名的喜悦感是永远无法形容的.然而,每当我冥思苦想百思不得其解时,我仿佛进入了痛苦深渊,时间越长,就越是跳不出这个无底坑.这样的循环耗费了我许多的精力和时间.然而许多程序员却花费了大量的青春乐此不疲地去做.