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数据类型 基本数据类型 引用类型 基本数据类型--整数类型的细节 基本数据类型 ...
随机推荐
- 记换换回收一个js逆向分析
随着现在对数据的重视程度越来越高,现在各大网站都加强了反爬技术,比如本文中js加密 url地址:https://www.huanhuanhuishou.com/gujia/22201.html 需要爬 ...
- ruby的循环使用及区别(for、each等)
ruby的循环有以下几种: times方法 for语句 while语句 until语句(与while相反) each方法(与for极度相似,在ruby内部,for语句是用each实现的) loop方法 ...
- 使用git管理代码
上传工程 1.登录github后,点击右上角带有+号的图标,输入仓库名创建仓库(Repository). 2.在项目文件夹下执行以下命令: touch README.md git init 如果工程中 ...
- Oracle中实现dblink的作法
基本环境: 机器1: 192.168.56.102 用作dblink的使用者(create database link 语句在此执行) 机器2: 192.168.56.103 用作dblink的源 ...
- BZOJ2539 Spoj 10707 Count on a tree II
题面 题解 因为这道题目我也不太会做,所以借鉴了一下大佬heyujun的博客 如果不强制在线,这道题目是树上莫队练手题 我们知道莫队是离线的,但是万一强制在线就凉凉了 于是我们就需要一些操作:树分块 ...
- OpenStack入门篇(二十二)之实现阿里云VPC的SDN网络
1.修改/etc/neutron/neutron.conf配置 [root@linux-node1 ~]# vim /etc/neutron/neutron.conf [defalut] ... co ...
- Spring Boot:项目打包成war并发布到Tomcat上运行
一.修改pom文件 1. 因为SpringBoot中嵌入的有Tomcat,因此要移除嵌入式的Tomcat插件 <dependency> <groupId>org.springf ...
- springboot之jpa多数据源
1.随着业务复杂程度的增加,我们在单一数据源上面的使用越来越不满足具体的业务逻辑以及实现了. 2.那么多数据源,比如多库多数据库等,我们在使用一个工程的时候多数据源的连接还是很有必要的,这里做一下记录 ...
- 使用终端命令行将本地项目上传到Github
使用终端命令行将本地项目上传到Github 转自https://blog.csdn.net/fishball1/article/details/52020305 对于IOS开发者来说,Github的使 ...
- 图解SSH原理
1. 初见SSH SSH是一种协议标准,其目的是实现安全远程登录以及其它安全网络服务. SSH仅仅是一协议标准,其具体的实现有很多,既有开源实现的OpenSSH,也有商业实现方案.使用范围最广泛的当然 ...