《梦断代码》读书笔记 第2篇

《梦断代码》读书笔记 第2篇

第7章:细节视图

第8章:白板上的即时贴

第9章:方法

第10章:工程师和艺术家

第11章:通往狗食版之路

  “读书时我喜欢上数学课——这类东西之所以能吸引我,是因为我知道自己做对了。”在书里面我找到了自己刚接触计算机时不喜欢编程可能的原因:我不知道自己是否做对了,也没有很顺利就做对的时候,慢慢地导致排斥编程,特别是一点思路也没有,或者知道这个程序将会花费我很多时间时情绪很糟糕,所以它不能吸引我。到现在,每次找到程序中不对的地方再修改正确,即使消耗很多时间,也会有一点点喜欢这种成就感,然后继续测试,找bug,修改。

  话又说回来,有些小缺陷可能考虑到了(例如数值越界或溢出、要求输入数字却相反输入特殊字符、缺少判断......),但是测试时个人的意识驱使我们按照合法的要求输入,得到结果并没有影响,也就让它们随之而去,觉得自己不提出,别人也不会去验证,因此也不了了之。看到最后书中例举了几个事件,那些令人警醒的惊人灾难。“1962年,水手一号探测飞船在发射后5min偏离轨道,问题在于导航控制程序中缺少了一个连字符;1991年海湾战争中,导弹的一个电池未能成功点火,原因在软件中存在一个累计计算的错误。”“那些致命的缺陷,导致财产和经济的损失。人们指责软件问题导致了停电,航班延误和机场关闭、银行账户混淆......”甚至有些就确实发生在自己的身边,或者有一天自己就在使用这些有缺陷的软件,扰乱了正常的秩序,就不再单单是个人兴趣和能力的问题,也是一种责任!

  “最大的挑战是咱们不能让野心泛滥,但也要防止灵感丧失。”这句话让我想到了几次的结对开发,最开始我们总害怕太难的做不出,所以想着用特殊的简单的数据和例子来作为测试的对象,或者直接就作为固定的数据,但做完后感觉那样完全没有意义,它不适用除了自己以外的其他对象。后来我们都尽量修改成提示使用者任意输入,或者随机产生,并且保证最基本的功能可以实现,而不是太过于“个性”。

  马上就要进入到团队开发的阶段了,《方法》章节里,汉弗列出了几点这时需要注意的:1、我们都为组织工作;2、组织需要计划;3、除非你的工作足够独立,否则必须按进度工作;4、如果你不自己做进度安排,别人就会给你做安排;5、这样别人就会控制你的工作。重点强调了组织、计划、进度对团队里每个成员的要求,现在我们可能不能完全感受到在一个项目里这些有多么重要,但却是无形的原则和约束。“约束是环境的产物——预算少、时间紧、目标有限。团队项目,不是1个人、2个人或3个人。”

  “像计算机一样思考,编程是一种创造性写作。”写程序并不像都完这三个字那么简单,值得驻足思量。多数程序员太过求快,只关注如何把自己的那部分代码敲完,如何把功能化简,如何让计算机达到客户需求的...那做出来的可以说真不咋地。“读代码难于写代码”,大多数没有文档、没有注释。在前几次的结对开发中深有体会,代码并不是全部由两个人一起完成的,有些代码方法测试方可能看不太懂。

  “由于重复的周期和无限期的延误,编程工作让人想到薛西弗斯的劳役,没完没了地推巨石上山。”让我觉得有时候确实做了很多无用功,一想到编程就感觉好困难,不愿进行。然而困难有不同类别:养孩子难,葬先亲难,出生和成长,与人同住或无人相伴;软件?另一个困难的世界。没有捷径,永远也到不了目的地。许多情况我们会一次又一次否定自己,一次又一次发现自己所需之物总与现实之物差异甚大,只能重新编写,但是换个角度,可以看作已经有很多方法,我们一一排除,最后找到可行的。看到最后,很遗憾,书中的团队还是失败了的,他们接受了现实。一个团队经历了许多,为着一个共同的目标,他们一直都在努力,在不断修改完善代码,在无限的付出,对于一个软件产品来说是没有成功,但把发生的做了很好的总结,以及每个成员的精神都是值得学习的。老师说过,无论对错都是一个积累的过程,感觉永远也做不出来的,坚持了总会有回报的。

时间: 2024-12-15 15:21:04

《梦断代码》读书笔记 第2篇的相关文章

大道至简读书笔记(1)

今天读了一部分大道至简,开篇的引言让我很震惊,首先作者写这篇文章的目的很让我敬佩,不为盈利,只为让好的思想流传下去,能够让更多的人学习到有营养的东西,能够更好的为社会做贡献. 后又引用了<愚公移山>中的一段话,在这里和大家共勉: ”虽我之死,有子存焉:子又生孙,孙又生子:子又有子,子又有孙,子子孙孙,无穷匮野,而山不加增,何苦而不平?'' 这段话表现了愚公移山之决心,精神之伟大无不令我辈折服,我辈当着重学习这种精神,将这种精神在编程的道路上发扬广大,所谓“世上无难事,只怕有心人.” 我们需拥有

大道至简读书笔记之一

大道至简是一本“阐明软件工程的思想核心”的书,全书分为八章,从各个角度全面,细致而深刻地分析了工程中各个环节的由来,价值和内在关系.作者对于章节的安排是基于其对软件工程的总结给出的,而作者整体思想则体现在了其在书中提出的软件工程层状模型图里.从章节的安排可以看出,本书的前面六章,作者为我们详细解析了软件工程里各个工程元素的基本概念,从程序的实现到方法,再到过程.工程,最后到组织.第七章是承前启后的一章,因此以这一章作为样张也是比较用心的一种做法.而从第八章开始,作者为我们揭示了软件工程里各个工程

大道至简 读书笔记01

粗略的看了书本开头两篇序,以及它的章节目录,大概了解了这本书主要讲什么.其实它并不是我想象中的给我这个阶段的人讲这么压缩你的代码.怎么写的更加精妙之类的,倒像是给已经走出校门,要真正承接项目挣钱的人看的. 书中有些例子看的时候的确发人深省,比如,让作者哆嗦的那句“那我们就开始开发吧”.回想一下自己拿到老师的题目何尝不是如此,就算还没想好到底怎么实现这个问题也一定要把include.iostream之类写好再发愁.这大概是一个现在看来无伤大雅的行为吧.我们习惯于小程序的开发,对于一些复杂的无法一念

大道至简 读书笔记(1)

粗略的看了书本开头两篇序,以及它的章节目录,大概了解了这本书主要讲什么.其实它并不是我想象中的给我这个阶段的人讲这么压缩你的代码.怎么写的更加精妙之类的,倒像是给已经走出校门,要真正承接项目挣钱的人看的. 书中有些例子看的时候的确发人深省,比如,让作者哆嗦的那句“那我们就开始开发吧”.回想一下自己拿到老师的题目何尝不是如此,就算还没想好到底怎么实现这个问题也一定要把include.iostream之类写好再发愁.这大概是一个现在看来无伤大雅的行为吧.我们习惯于小程序的开发,对于一些复杂的无法一念

大道至简 读书笔记02

这本书的作者一看就知道是一位实际参与软件工程经验丰富的人,他在几十年的工作之后写下了这本书,用非常通俗的语言告诉我们那些“雷区”(想来想去不知道用什么词形容,姑且暂用). 可我想,事实上,我们现阶段作为未出校门的学生,并没有实践的经验,对这个行业也没有很深的认识,很多东西其实在我看来是有些看不懂的,所以,一条一条来看,这本书的确有我们当下的影子,有我们值得吸取的东西.但是很可惜,由于我自身高度的不足,所以看不懂的部分多过看得懂的.也许这就是不是一个层次的人就无法理解那个层次的事的情况吧. 在软件

大道至简读书笔记之三

书中曾提到从最初的简单编程开始,到现在工程团队的组织开发,实现一个软件是最终的目的,所以,实现是软件开发的本质需求.正是由于实现的需要语言工具,方法,过程和实现对象.为了实现更大规模的软件系统而有了团队组织模式,而团队的协作决定了过程模型的产生.工具的产生依旧是处于软件实现的需要.在软件工程的体系中,实现作为软件开发的本质需求和基本动因,如同上帝之手在推动这几十年来的软件工程理论体系的形成. 思考问题的方法可以是由点及面的,也可以是统揽全局的.换成业界最常用的词汇,就是“自上而下”还是“自下而上

大道至简读书笔记之二

书中曾提到客户不会用C,难道就会用UML?作为开发人员,我们当然希望用户能学习或者精通c语言,这样客户就知道开发人员正在做什么,或者,这样的客户还能以c语言的方式告诉开发人员他们究竟想要什么.可是,要求用户学习c语言明显是自杀式的行为.这样的用户学会用c语言向开发人员描述需求时,可能他就已经被老板开除了,因为没有用户会笨到愿意用c语言来描述他们的需求. c语言是程序员与计算机交流的语言,而不是他与客户交流的语言.程序员面对的是计算机,但计算机不是客户.所以,我们在做用户需求分析时,不要希望用户能

大道之简读书笔记1

这本书作者上来就引用了愚公移山里的一段话:“虽我之死,有子存焉:子又生孙,孙又生子:子又有子,子又有孙.子子孙孙,无穷匮也.而山不加增,何苦而不平?”把愚公移山看成一个团队对软件进行开发 .浓缩了项目组织者.团队经理.编程人员.技术分析师等众多角色的优秀素质.在愚公的论述中,我们看到了编程的根本:顺序.分支和循环.庞大若“愚公移山”这样的工程,都是可以通过这样简单的编程来实现的.这,就是编程的精义. 里面说过:程序=算法+结构.编程作为一种行为,只需要知道其逻辑方法就可以了.所谓编程实际上是把一

大道至简读书笔记一

本书一开始就用了愚公和李冰两人的例子.我觉得他们代表了两种编程人员:一种只会埋头编代码,花大量的时间,最终或许把功能都实现了,但是花费了大量的时间和精力.另一种善于思考,不是一上来就是敲代码,而是先对问题进行分析,找出问题的切入点,将问题简单化,能快速的将代码的功能实现,效率很高. 我认为身为一个程序员,应该学习一下李冰,一味埋头苦干,很容易导致出错,编程成果也跟不上时代.无论做什么行业,善于思考,寻找正确的切入点是很必要的素质.

大道至简 读书笔记(2)

这本书的作者一看就知道是一位实际参与软件工程经验丰富的人,他在几十年的工作之后写下了这本书,用非常通俗的语言告诉我们那些“雷区”(想来想去不知道用什么词形容,姑且暂用). 可我想,事实上,我们现阶段作为未出校门的学生,并没有实践的经验,对这个行业也没有很深的认识,很多东西其实在我看来是有些看不懂的,所以,一条一条来看,这本书的确有我们当下的影子,有我们值得吸取的东西.但是很可惜,由于我自身高度的不足,所以看不懂的部分多过看得懂的.也许这就是不是一个层次的人就无法理解那个层次的事的情况吧. 在软件