Week2:阅读笔记与思考
《构建之法》这本书的内容通俗易懂,每一个知识点都有许多事例佐证,阅读起来不像其他教科书那样枯燥无聊。但阅读过第一、二、十六章之后还是产生了几个疑问,以及更深层次的思考。
第一章
问题1:
第一章第13页中提到“除了学术水平名列前茅的学校,其他学校的这些院系大部分老师做的都是偏工程方面的研究,大部分学生毕业后也投身于解决具体的工程问题,这跟软件学院、软件工程系的研究和培养方向非常雷同”。
据我所知计算机科学专业的设立远早于软件工程专业。且计算机科学侧重理论科研,软件工程侧重应用实践,但书中提到的这一现象,是不是一定程度上反应出大部分国内高校的计算机科学专业偏离了设立该专业的初衷,有着急功近利的趋势,使得沉下心来做理论的学生越来越少?这一现象是不是也与造成国内计算机科学的学术氛围和能力不及国外,越来越多的学生选择出国深造有关?
第二章
问题2:
第二章第27页问答中提到的“如果你的模块中的某个错误处理路径很难达到,那你也许要想想是否可以把这个错误处理拿掉”。
我对这句话的理解是:如果一个处理错误的方法几乎用不到,可以考虑删除这个方法。然而第一章中举的飞机的安全功能例子说的是任何一个错误都要考虑到,任何一个错误处理方法都不能少。两者之间是否相互矛盾呢?
问题3:
第二章第38页中提到的一个软件设计原则“开放-封闭原则”:软件实体应该是可以扩展的,同时是不可修改的。不允许修改的内容是:对模块行为进行扩展时,不必改变模块的本身。
结合书中前面的内容,软件的需求是经常变化的,如果在软件的开发中需求变化了,有增有减,原来的模块有些内容用不到了,根据开放-封闭原则,需不需要在扩展模块时将需求改变后无用的部分删除?
第十六章
问题4:
第十六章第344页提到的例子:研究者提出的新版的键盘布局,使用起来比老款键盘布局更便捷高效,然而却没有得到普及,创新失败了,原因是人们已经习惯了QWERTY键盘,所谓先入为主的观念。
根据这个例子,我联想到了手机的发展史,当初诺基亚、摩托罗拉等手机厂商的滑盖、翻盖手机几乎垄断了手机市场,然而苹果iphone一代的出现,人们知道了更便捷的触屏手机,到了iphone4这一代,市场上老式的滑盖、翻盖手机几乎已销声匿迹了。同样是更便捷高效的创新,同样面临的挑战是人们先入为主的观念,为什么苹果成功了,而新款的键盘布局却失败了,这是为什么?是否这其中还有其他导致创新成果或失败的因素在起作用?
综上,就是我阅读完第一、二、十六章以后产生的疑问以及对书中内容的思考。
Week2:阅读笔记与思考的更多相关文章
- Week4-作业1:阅读笔记与思考
我在这三天时间里阅读了<构建之法>的第四章和第十七章,产生了一些疑问和深层次的思考. 第四章 问题1: 书中第68页提到“注释(包括所有源代码)应该只用ASCII字符,不要用中文或其他特殊 ...
- Week4-作业1:《构建之法》第四章、第十七章 阅读笔记与思考
第四章 两人合作 这一章是讲述了两人结对编程的一些东西,包括一些代码的规范,还有结对编程的优点.怎么做.以及一些注意事项. 1.“错误处理 当程序的主要功能实现后,一些程序员会乐观地估计只需要另外 ...
- <<UML大战需求分析>>阅读笔记(2)
<<UML大战需求分析>>阅读笔记(2)> 此次读了uml大战需求分析的第三四章,我发现这本书讲的特别的好,由于这学期正在学习设计模式这本书,这本书就讲究对uml图的利用 ...
- CI框架源码阅读笔记4 引导文件CodeIgniter.php
到了这里,终于进入CI框架的核心了.既然是“引导”文件,那么就是对用户的请求.参数等做相应的导向,让用户请求和数据流按照正确的线路各就各位.例如,用户的请求url: http://you.host.c ...
- 【读书笔记与思考】《python数据分析与挖掘实战》-张良均
[读书笔记与思考]<python数据分析与挖掘实战>-张良均 最近看一些机器学习相关书籍,主要是为了拓宽视野.在阅读这本书前最吸引我的地方是实战篇,我通读全书后给我印象最深的还是实战篇.基 ...
- ULMFiT 阅读笔记
ULMFiT 阅读笔记 概述 这篇文章从文本分类模型入手,主要提出了两点:一是预训练语言模型在大中小规模的数据集中都能提升分类效果,在小规模数据集中效果尤为显著.二是提出了多种预训练的调参方法,包括D ...
- 关于 AlphaGo 论文的阅读笔记
这是Deepmind 公司在2016年1月28日Nature 杂志发表论文 <Mastering the game of Go with deep neural networks and tre ...
- 阅读文章《DDD 领域驱动设计-如何 DDD?》的阅读笔记
文章链接: https://www.cnblogs.com/xishuai/p/how-to-implement-ddd.html 文章作者: 田园里的蟋蟀 首先感谢作者写出这么好的文章. 以下是我的 ...
- Java程序设计(2021春)——第一章续笔记与思考
Java程序设计(2021春)--第一章续笔记与思考 目录 Java程序设计(2021春)--第一章续笔记与思考 Java数据类型 基本数据类型 引用类型 基本数据类型--整数类型的细节 基本数据类型 ...
随机推荐
- linux-RPM 打包原理 SPEC 编写规范
一.编写spec脚本 由前面的日志了解到,生成rpm除了源码外,最重要的就是懂得编写.spec脚本.rpm建包的原理其实并不复杂,可以理解为按照标准的格式整理一些信息,包括:软件基础信息,以及安装.卸 ...
- LVM Linear vs Striped Logical Volumes
转自:https://sysadmincasts.com/episodes/27-lvm-linear-vs-striped-logical-volumes About Episode - Durat ...
- AGC 018 F - Two Trees
F - Two Trees 链接 题意: 给定两棵都是N个节点的有根树,节点均从1~N标号.给每个标号定一个权值(类似一号点的权值是x,那么两棵树中1号点的权值都是x),使在两棵树满足以任意节点为根的 ...
- [WC2011]最大XOR和路径 线性基
[WC2011]最大XOR和路径 LG传送门 需要充分发掘经过路径的性质:首先注意不一定是简单路径,但由于统计的是异或值,重复走是不会被统计到的,考虑对于任意一条从\(1\)到\(n\)的路径的有效部 ...
- CentOS安装GoAccess
官网 https://goaccess.io/ yum -y install glib2 glib2-devel ncurses ncurses-devel GeoIP GeoIP-devel安装依赖 ...
- 关于摄像头PCB图设计经验谈
摄像头PCB设计,因为客观原因等.容易引起干扰这是个涉及面大的问题.我们抛开其它因素,仅仅就PCB设计环节来说,分享以下几点心得,供参考交流: 1.合理布置电源滤波/退耦电容:一般在原理图中仅画出若干 ...
- variadic templates & pass by const reference & member operator [] in const map & gcc sucks
/// bugs code with comments #include <iostream> #include <memory> #include <unordered ...
- Linux速成(一)
全部转载自http://www.runoob.com/linux/linux-intro.html 一.Linux 简介 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和 ...
- 解析xml报文,xml与map互转
这段时间写了一个关于xml报文的工具类,做一下具体的讲解: xml文本 <NTMMessage version="1.03"> <NTMHeader> &l ...
- java抽象类与接口区别
java抽象类与接口区别: abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力. abstr ...