第八周读书笔记

《梦断代码》读后感

《梦断代码》一书描述了软件工程面临的种种困难和艰辛。

书中给我印象最深的部分,目标看似近在眼前,但是在你跨过一座大山之后,发现又有一座新的山峰阻隔在你和目标之间。目标看似唾手可及,实际上你每一次以为自己已经达到了目的时,却发现新的问题摆在你的面前。就像祖玛那个游戏一样,一关关的打下去,似乎永远也打不完。

这个在我做个人和结对项目的时候有更加深刻的体会,一开始做的时候,以为只需解决A问题,解决A问题后,又产生了B,C问题,解决的问题越多,产生的疑惑和问题就越多。最后上交的是一个令自己十分不满意的版本,然而有些问题又是难以解决,令人困扰的,似乎进入了一个黑洞。

有一个形象的比喻可以用来描述这个情况,如果把所有的问题看成一个平面(当然是无限大的),你所了解的部分看成一个圆,圆的大小是你所掌握的知识,边界接触的地方,就是你现在所面临的问题。当你解决了当前的问题后,圆的面积扩大,就接触到了更多的问题。

这让我感觉,一个好软件,其实不一定代表着解决了所有的问题,而是解决了大部分重要的问题,而将其他问题覆盖,隐藏(这个隐藏不是说隐藏问题的表现,而是隐藏会触及这种问题的情况),这就能够称为一个好软件了。这代表了每一个软件的形状按之前的比喻来说不一定是个圆形的,他根据需求会演变成各种其他的形状。

而为了达成这个目标,目标的明确性,需求分析的准确性就显得十分重要,它们能让我们集中精力去解决最需要的问题,让我们的程序发展成一个需求所需要他成为的形状。

原文地址:https://www.cnblogs.com/lanziwen/p/8951802.html

时间: 2024-10-08 14:07:47

第八周读书笔记的相关文章

第八周读书笔记《黑客与画家》

这周我阅读的书目是<黑客与画家>,感觉这本书是一本极其有趣味并值得我们深思的书,它主要介绍了现在社会一个特别但又重要的群体--黑客,讲述了他们的特点,以及他们的能力和这份能力为社会为自己带来了什么. 黑客的创造力:从书的标题可以看出,作者将黑客与画家相比拟,重点突出的应该是他们在创造力上的共同点,也说明,黑客从事的也是一门艺术创作,编程和其他艺术创作比如绘画.音乐是一样的.黑客和其他艺术家一样有着自己的执着和追求,他们丰富的思想世界,也往往是极度聪明的一类人,但却不被人理解,被看作是怪异的群体

linux内核分析 第八周读书笔记

第四章 进程调度 4.1 多任务 1.多任务操作系统就是能同时并发的交互执行多个进程的操作系统. 2.多任务操作系统使多个进程处于堵塞或者睡眠状态,实际不被投入执行,这些任务尽管位于内存,但是并不处于可运行状态. 3.多任务系统分类: (1)非抢占式多任务 (2)抢占式多任务 4.Linux提供了抢占式的多任务模式.在此模式下,由调度程序来决定什么时候停止一个进程的运行,以便其他进程能够得到执行机会.这个强制的挂起动作叫做抢占.进程被抢占之前能够运行的时间是预先设置好的,叫进程的时间片.时间片实

20165326 java第八周学习笔记

第八周学习笔记 知识点总结 1.进程与线程 进程:程序的一次动态执行过程 区别:进程和线程的区别? 进程是资源的分配和调度的一个独立单元,而线程是CPU调度的基本单元 同一个进程中可以包括多个线程,并且线程共享整个进程的资源(寄存器.堆栈.上下文),一个进行至少包括一个线程. Java的多线程机制.Java内置对多线程的支持.我们的计算机在任何给定说的时刻只能执行线程中的一个,Java虚拟机只是从一个线程迅速地切换到另一个线程. 当main方法中有其他线程时,JVM一直要等到Java应用程序中的

第一周读书笔记《构建之法》

构建之法读书笔记 #wmd-preview h1 { color: #0077bb } 构建之法读书笔记 沈三景 PB15061249 软件工程 读书笔记 前言 开学前两周,杂事颇多,没有充足的时间阅读<构建之法>,只能每天在睡前阅读约半小时,故只看了前三章.虽如此,但仍收获很多,下面就是我对前四章内容的一些看法和理解,如有理解偏颇之处,望见谅. 第一章 概论 本章主要介绍了软件工程是什么?软件工程的目标是什么?为了解决前一个问题,作者首先提出了两个等式: 程序 = 数据结构 + 算法 软件

第二周读书笔记《构建之法》

构建之法读书笔记 #wmd-preview h1 { color: #0077bb } 构建之法读书笔记 沈三景 PB15061249 软件工程 读书笔记 前言 本周阅读了构建之法的四.五两个个章节.这三个章节主要讲述了代码规范.结对编程.团队模式.开发流程. 第四章 两人合作 首先提到的是代码规范,程序员写的代码不仅要给机器看,还要给人看.好的代码规范能事半功倍.代码规范有分为代码风格规范和代码设计规范.代码风格规范是指让代码保持简明,让代码更易读.书中给出的规范是Tab键为4个空格,行宽为1

第三周读书笔记

<程序员的职业修养>读书笔记 本书一直围绕着"专业"二字展开,以作者的观点阐述了何为"专业的程序员":专业的程序员是如何思考,如何解决问题,如何承担责任. 所有软件项目的知道原则是,软件要易于修改.如果你希望自己的软件灵活可变,那就应该市场修改它!要证明软件易于修改,唯一的办法就是做些实际的修改.如果你发现这些改动并不像你预想的那样简单,你就应该改进设计,使后续修改改变简单.有时开发期已过进入测试阶段,可能还会加一点需求,如果是影响到逻辑上的改动会比较麻

第六周读书笔记《极客与团队》

<极客与团队>读书笔记 做程序员这个职业,就意味着与别人在工作上会有不少沟通与交流,处于一个团队中,如何能更好地编写代码,在团队中如鱼得水,过得更加开心,<极客与团队>这本书就给了我一些启迪. 这本书其实针对的是极客们,希望他们能够认识到团队的重要性.书中提到程序员要建立可以理解的代码,要注意与人的沟通,而不是只顾着自己.这一点我深表赞同.邓老师也在一直强调,写的代码要注意注释,要跟别人进行交流,注意书写格式以使得代码阅读性更强.这是因为个人的工作只是团队工作的一部分,要想整个团队

第五周读书笔记

<c++应用程序性能优化>读书笔记(part3) 应用程序的启动性能是应用程序给最终用户的第一印象,是衡量一个程序易用性的重要指标.书的第三部分介绍了启动性能优化的一些方法,第七章介绍了应用程序的物理布局,第八章介绍了应用程序在windows和linux平台上的编译到启动的过程,第九章介绍了优化启动项的一些方法. 本章从动态链接库开始讲起,简单的介绍了一下DLL.这里其实我看的有点晕的,大概就是说DLL可以看成一个一个函数的集合,我们可以编写代码来调用.然后讲了一些类似微机原理课本上的知识,我

第九周读书笔记-补充

1.笔绘波形 3.直流电机开环调压调速系统模型搭建(可以以小组形式完成作业,每个小组成员参与讨论并共同完成模型搭建) 针对第三周作业中给出的直流电机模型参数,在PLECS中建立一个基于晶闸管整流电路的直流电机开环调压系统,能实现在开环情况下对电机从零速到额定转速的调速. 直流电机的机械特性曲线为: n=-3.32T+1909.9 (r/min) 其中1909.9=U/Keφ,则当U为变量,T为常量12时,有 N=-3.32*12+7.96*U 变化后为: U=(39.84+N)/7.96 又在整