《构建之法》这本书的内容通俗易懂,每一个知识点都有许多事例佐证,阅读起来不像其他教科书那样枯燥无聊。但阅读过第一、二、十六章之后还是产生了几个疑问,以及更深层次的思考。
第一章
问题1:
第一章第13页中提到“除了学术水平名列前茅的学校,其他学校的这些院系大部分老师做的都是偏工程方面的研究,大部分学生毕业后也投身于解决具体的工程问题,这跟软件学院、软件工程系的研究和培养方向非常雷同”。
据我所知计算机科学专业的设立远早于软件工程专业。且计算机科学侧重理论科研,软件工程侧重应用实践,但书中提到的这一现象,是不是一定程度上反应出大部分国内高校的计算机科学专业偏离了设立该专业的初衷,有着急功近利的趋势,使得沉下心来做理论的学生越来越少?这一现象是不是也与造成国内计算机科学的学术氛围和能力不及国外,越来越多的学生选择出国深造有关?
第二章
问题2:
第二章第27页问答中提到的“如果你的模块中的某个错误处理路径很难达到,那你也许要想想是否可以把这个错误处理拿掉”。
我对这句话的理解是:如果一个处理错误的方法几乎用不到,可以考虑删除这个方法。然而第一章中举的飞机的安全功能例子说的是任何一个错误都要考虑到,任何一个错误处理方法都不能少。两者之间是否相互矛盾呢?
问题3:
第二章第38页中提到的一个软件设计原则“开放-封闭原则”:软件实体应该是可以扩展的,同时是不可修改的。不允许修改的内容是:对模块行为进行扩展时,不必改变模块的本身。
结合书中前面的内容,软件的需求是经常变化的,如果在软件的开发中需求变化了,有增有减,原来的模块有些内容用不到了,根据开放-封闭原则,需不需要在扩展模块时将需求改变后无用的部分删除?
第十六章
问题4:
第十六章第344页提到的例子:研究者提出的新版的键盘布局,使用起来比老款键盘布局更便捷高效,然而却没有得到普及,创新失败了,原因是人们已经习惯了QWERTY键盘,所谓先入为主的观念。
根据这个例子,我联想到了手机的发展史,当初诺基亚、摩托罗拉等手机厂商的滑盖、翻盖手机几乎垄断了手机市场,然而苹果iphone一代的出现,人们知道了更便捷的触屏手机,到了iphone4这一代,市场上老式的滑盖、翻盖手机几乎已销声匿迹了。同样是更便捷高效的创新,同样面临的挑战是人们先入为主的观念,为什么苹果成功了,而新款的键盘布局却失败了,这是为什么?是否这其中还有其他导致创新成果或失败的因素在起作用?
综上,就是我阅读完第一、二、十六章以后产生的疑问以及对书中内容的思考。
原文地址:https://www.cnblogs.com/huyifeng/p/8586264.html