标签:
这段时间看完了《梦断代码》这本书的5到8章,具体的心得体会如下:
第5章《管束奇客和狗》,里面提到《设计决策,一些原则》第一条原则:必须依序执行,决定推迟某些特性,项目才成其为项目,所有事同时开干并非明智之选。这句话在日常生活中同样适用,我们平时给自己列出一大堆的计划,执行时总感觉力不从心,因为我们有太多的事情要做,而每天的时间是有限的,因此我们会乱了阵脚,但如果我们把这些计划再细分,把紧急的需要尽快完成的事务完成后再一项项的进行,就会有条不紊。我们平时会给自己制定编写代码的计划,例如我要每天做一道编程题类似的,但我们往往评判的标准是我今天完成了多少行的代码,而不是我今天写的代码完成了多少功能。书中提到我们的目标应是尽可能写出有小又快的代码,用代码行数做标准只会鼓励程序员写出臃肿的,蹩脚的代码。在这一章中还提出了“奇客”的概念,对于“奇客”一词,它的最新解释是:专注于己事的人,追求技术特别是专业技术和梦想,不融入主流社会的人。大家可不要把他和日常人们所谓的宅男宅女归为一谈,宅男宅女们通常都是天性懒惰使然,不愿外出与人与新鲜事务打交道或者根本就是处于不自信的惧怕。不过这两者都不是我们提倡的健康的生活方式,现代人应将自己的视野放宽,我们应乐于接受新事物,新挑战,以斗志昂扬的姿态面对每一天,蜷缩在被窝那是死人做的事情。
第6章《搞点设计方案》。里面有一段提到了好多程序员负责猜测程序该如何应对用户输入和机器状态的上千种可能的组合,但他们并不善于站在用户的立场考虑问题。这让我想到了我们第一次软件工程课老师给我们留的编程作业:编写小学生四则运算出题系统,刚开始就只是让程序负责显示30到四则运算题目即可,但此后一直在原有基础上做扩展,例如考虑到小学生年级的不同,可能没有学过乘除法,或者数值的范围是不是超过了他们的能力,是否涉及负数,题的数量·········等等,这就是为用户考虑,用户希望我们做出什么样的东西,我们就要做出什么样的东西,不然没有用户的软件做出来是没有任何意义的。文章中还提到:该怎样调度工作免得没完没了徒然浪费光阴而不见成效,答案是只有陷入循环才会没完没了。例如我们有些同学晚上喜欢打游戏或者看电影到很晚,那白天上课的时候自然会无精打采,老师讲课的内容全然不知,布置的作业自然也就无法独立完成,于是抄袭其他同学的作业,好一点的就课下自己再费劲琢磨,做了一整个晚自习的作业,好了,回到宿舍又是依次循环重复,如此日复一日,力气也费了不少,但总不见成果。
第7章《细节视图》里面有一句话用黑体注明:是在规格说明里写明了的!或者,根本没在规格说明里写出!编写规格说明——用来指导程序员工作的细节丰富的文档——对于那些最终用户不是程序员的软件企业来说是必须环节。这让我想起了大一第一次编程是闹出的笑话:当程序通过编译无错运行结束时末尾会出现一句话,press any key to continue….也是由于英语水平有限吧,居然满键盘寻找那个叫做”any”的按键。在文中还找到了一位与我有类似经历的主人公登曼——我们读中学时都喜欢做数学题,做数学题最吸引人的是能够准确知道自己做对了,在解数学题时,常先给出答案,然后再回头运算,并认定那就是正确答案。其实编写程序也能体会到相似甚至更为强大的快乐,当你编译成功,运行正常时就知道自己做的是正确的,而且你还能指导机器做事,这是一种多么大的成就。就好像我们每学习一种新的编程语言,做的第一道题往往都是“HELLO WORLD!”,好像我们能通过电脑与这个世界进行交流。
第8章《白板上的即时贴》。光看到这个题目让人感到亲切,即时贴是我们日常使用最广泛的文具之一,它最大的好处就是方便快捷,好记性不如烂笔头嘛,随时把东西记下来,免得我们健忘的小脑袋总是丢三落四。或者在书桌,床头或其他显眼的地方贴个座右铭啥的激励自己,我的床头上至今还贴着“我要减肥”的便利贴,想想早上饥肠辘辘的起床第一件事就是减肥,想想也是醉了呢。在这章中,有一个软件团队,他们有好几个月跟踪每位开发者的任务和计划,要求每两周发布有一次里程碑版本 的代码(这点跟我们软件工程老师的要求有类似奥)。这有助于推进Chandler项目吗?很难说,不过“未完成”的鸿沟仍然难以跨越。不过清楚的是总是按计划执行远没有保持较快进度并清除做到哪一步来的重要。如果老往计划里掺水,从而达到目标,就会变成退而求其次,完成的特性更少。因此我们不能总是因为要完成所以去完成,而是清楚的知道每一步的努力都是为了还没有实现的 目的。
标签:
原文地址:http://www.cnblogs.com/xiaojin123/p/4392846.html