Week2:阅读笔记与思考

《构建之法》这本书的内容通俗易懂,每一个知识点都有许多事例佐证,阅读起来不像其他教科书那样枯燥无聊。但阅读过第一、二、十六章之后还是产生了几个疑问,以及更深层次的思考。



第一章

问题1:

第一章第13页中提到“除了学术水平名列前茅的学校,其他学校的这些院系大部分老师做的都是偏工程方面的研究,大部分学生毕业后也投身于解决具体的工程问题,这跟软件学院、软件工程系的研究和培养方向非常雷同”。

据我所知计算机科学专业的设立远早于软件工程专业。且计算机科学侧重理论科研,软件工程侧重应用实践,但书中提到的这一现象,是不是一定程度上反应出大部分国内高校的计算机科学专业偏离了设立该专业的初衷,有着急功近利的趋势,使得沉下心来做理论的学生越来越少?这一现象是不是也与造成国内计算机科学的学术氛围和能力不及国外,越来越多的学生选择出国深造有关?

第二章

问题2:  

第二章第27页问答中提到的“如果你的模块中的某个错误处理路径很难达到,那你也许要想想是否可以把这个错误处理拿掉”。

我对这句话的理解是:如果一个处理错误的方法几乎用不到,可以考虑删除这个方法。然而第一章中举的飞机的安全功能例子说的是任何一个错误都要考虑到,任何一个错误处理方法都不能少。两者之间是否相互矛盾呢?

问题3:

第二章第38页中提到的一个软件设计原则“开放-封闭原则”:软件实体应该是可以扩展的,同时是不可修改的。不允许修改的内容是:对模块行为进行扩展时,不必改变模块的本身。

结合书中前面的内容,软件的需求是经常变化的,如果在软件的开发中需求变化了,有增有减,原来的模块有些内容用不到了,根据开放-封闭原则,需不需要在扩展模块时将需求改变后无用的部分删除?

第十六章

问题4:

第十六章第344页提到的例子:研究者提出的新版的键盘布局,使用起来比老款键盘布局更便捷高效,然而却没有得到普及,创新失败了,原因是人们已经习惯了QWERTY键盘,所谓先入为主的观念。

根据这个例子,我联想到了手机的发展史,当初诺基亚、摩托罗拉等手机厂商的滑盖、翻盖手机几乎垄断了手机市场,然而苹果iphone一代的出现,人们知道了更便捷的触屏手机,到了iphone4这一代,市场上老式的滑盖、翻盖手机几乎已销声匿迹了。同样是更便捷高效的创新,同样面临的挑战是人们先入为主的观念,为什么苹果成功了,而新款的键盘布局却失败了,这是为什么?是否这其中还有其他导致创新成果或失败的因素在起作用?

综上,就是我阅读完第一、二、十六章以后产生的疑问以及对书中内容的思考。

原文地址:https://www.cnblogs.com/huyifeng/p/8586264.html

时间: 2024-10-29 02:21:59

Week2:阅读笔记与思考的相关文章

Week4-作业1:《构建之法》第四章、第十七章 阅读笔记与思考

第四章 两人合作   这一章是讲述了两人结对编程的一些东西,包括一些代码的规范,还有结对编程的优点.怎么做.以及一些注意事项. 1."错误处理 当程序的主要功能实现后,一些程序员会乐观地估计只需要另外20%的时间,给代码加一些错误处理就大功告成了,但是这20%的工作往往需要全部项目80%的时间." 疑问:"错误处理"是什么概念?它有哪些类型及方法? 思考:我查阅了一下资料,上面解释道"在程序设计过程中,由于某些错误的存在,致使程序无法正常运行,处理这些错误

《大道至简》阅读笔记1

<大道至简>阅读笔记1 不知不觉间看完了第一章,从这个章节里我看到了一些我们都明白可是却自己很难做到的道理. 书中从愚公移山的故事和编程相结合给出了编程的精义就是顺序.分支.循环,这些都是我们所熟悉的,也是老师在教学中耳提面命的,可是我们又有几个人能做到呢. 我们总是在找着各种各样的学不好学不会理由,“它太难了”,“我太笨了”,认真的想一想难道真的是它太难了或者是自己太笨了么?不,答案是否定的,追根究底是懒惰,是没能坚持.从根本上来说,不存在会不会写程序的问题,除了先天智障和后天懒惰者,这要你

《构建之法》阅读笔记(2)

<构件之法>阅读笔记2 看了前面两章,我感觉我现阶段距离一个程序员还很远,软件工程师更是遥不可及.在学校的我学习了很多,如c++,数据结构,面向对象--学的多而不精,纵观现在我就是一个盲目学习的学生,上课时认真听了课后却没有花更多的时间去研究,遇到不懂的容易掉价死胡同,总是花很多时间闷闷思考,不到最后都没有去请教同学,去百度.看着其他很厉害的同学,自己就只能在一旁羡慕嫉妒恨.那现在在怎么样才能将自己对编程的兴趣提高,加强自己的编程思想?提高自己的价值?能够尽早地迈进程序员.软件工程师的行列之中

《逻辑思维简易入门》(第2版) 阅读笔记二

<逻辑思维简易入门>(第2版) 阅读笔记二 本周阅读的是<逻辑思维简易入门>的第三章,也就是说,本书的第一部分就已经读完了. 第三章.信念的优点 信念和负信念是人们在接受一个事物时一种心理态度,延伸来说也就是对事物的认知态度.因为我们在研究 逻辑思维的时候,都有一个前提:“以正常情况以及说话者真诚”,所以有人如果对于一件事物不做回应,我们可以认为这是一种既不相信,也不怀疑的的态度. 信念的优缺点有很多,在书中主要介绍了下面几种: 1.准确性 好的信念实在准确的表达事实,同样真的信念

《领域驱动设计》阅读笔记 第1章 消化知识

ddd小白,一篇章节便能激起了心中涟漪,感慨之初,记于笔下. 第1章  消化知识 用醍醐灌顶.茅塞顿开来形容此章短短的文字,实不为过. 简单介绍背景:旅游互联网,B2B,初创公司.产品设计-代码开发的衔接有过两种明显形式: 1. 项目的推进由产品部起头,收集.分析.过滤需求,形成原型文档(word,excel,visio,axure),提交CTO.CEO评审(整个产品90%的原型.流程.字段),交付开发.测试工程师. 开发工程师花一两天理解.讨论原型文档,而后建立数据库表,开撸代码,按模块交付测

CI框架源码阅读笔记4 引导文件CodeIgniter.php

到了这里,终于进入CI框架的核心了.既然是"引导"文件,那么就是对用户的请求.参数等做相应的导向,让用户请求和数据流按照正确的线路各就各位.例如,用户的请求url: http://you.host.com/usr/reg 经过引导文件,实际上会交给Application中的UsrController控制器的reg方法去处理. 这之中,CodeIgniter.php做了哪些工作?我们一步步来看. 1.    导入预定义常量.框架环境初始化 之前的一篇博客(CI框架源码阅读笔记2 一切的入

程序算法艺术与实践关于 AlphaGo 论文的阅读笔记

这是Deepmind 公司在2016年1月28日Nature 杂志发表论文 <Mastering the game of Go with deep neural networks and tree search>,介绍了 AlphaGo 程序的细节.本博文是对这篇论文的阅读笔记. AlphaGo 神经网络构成 AlphaGo 总体上由两个神经网络构成,以下我把它们简单称为「两个大脑」,这并非原文中的提法,只是我的一个比喻. 第一个大脑(Policy Network)的作用是在当前局面下判断下一

人月神话阅读笔记—第三章

人月神话阅读笔记-第三章 一个由一流人才组成的小型的精干的队伍比由一群平庸的程序员组成的大型团队更有效率,但是这里面有一个重要的问题:如何在有意义的进度安排内创建大型的系统. 优秀的程序员和较差的程序员之间生产效率的差距是巨大的,当一个10人的精干团队进行开发,和一个100个人的平庸程序员进行开发,前者的效率更高.但是对于效率和概念的完成性来说,最好由少数干练人员开发,而大型系统需要大量人员进行开发,但是这两者是有矛盾的,需要进行平衡. 在开发过程中,可以使用一种崭新的开发方案,类似于外科医生做

《大道至简》阅读笔记3

<大道至简>阅读笔记3 看完这本书,最大的感触就是一语中的. 作为一个程序员出身的管理者具有“实现”的欲望的通病,往往会忽视我们的细节,比如说思考,在着手开始之前我们需要明确真正的问题所在. 软件工程首先关注的是以客户为对象的.整个工程的成败和质量.根本上说,技术性.重用性等等,只是保障工程成败与质量的手段而已.而哪些环节重要取决于具体的编程行为,也就是具体的项目. 软件工程的三要素是:工具.方法和过程,它们并不相互独立,而是环环相扣.相互作用.工程是对目标的描述和成果的检测.至于这个工程目标