谈谈我对构建之法这三章的理解
前言
在第一次作业中我便提过,刚进入大学时,我对未来充满了憧憬,我的人生有着很好的规划,也像我所规划的那样,我的大一过着学习,技术,学生工作有条不紊运行的状态,可是后来为了学生工作放弃了工作室,后来又因为一些原因失去了学生工作,我的人生仿佛失去了重心,浑浑噩噩度过了大二上学期,到了这个学期,上了软件工程导论这门课,我才意识到自己与别人的差距有多大,我下定决心从这学期开始恶补,一定要把差距拉小,直至没有差距。调整好了心态,我翻开了构建之法。
章节一.概论
1.“软件=程序+软件工程”这是1+1的关系吗?
2.软件工程与软件技术有什么区别?
几乎所有书的第一章都是概述,它也不例外,映入眼帘的是“软件=程序+软件工程”这几个大字,表面上来看,这是一个1+1的等式,但直觉告诉我,并不简单,我觉得软件工程这一体系似乎比软件本身来的更加重要,正是因为软件工程这一体系,才会有软件工程师这一名词出现,他们三者并不是简单的1+1=2,他们有着更加负责的关系,我上网查阅了软件工程的介绍,和书上说的一样,包括:软件需求分析,软件设计等领域,软件工程又与计算机科学,计算机工程等学科密切相关,所以软件似乎是千千万万的事物的集合,而并非单纯的1+1。那程序和软件工程究竟孰重孰轻?正如上文提到的,程序像是沟通想法和产品的桥梁,而软件工程更像是桥梁设计的灵魂。
看了第一章之后,我上网百度了一下软件工程,有一条是问它和软件技术的区别,在我看来,既然是两个不同的名称那就一定是不同的事物,但具体有哪些区别,我也说不上来,于是我开始去贴吧寻找答案,这是来自一位软件学习者的回答,在他的理解中,软件工程比软件技术多了管理,但我觉得远不止如此,所以在这里还想请问老师,两者具体还有哪些区别?
章节二.个人技术和流程
1.单元测试必须作者自己完成吗?
虽然书上说的是单元测试必须让熟悉代码的人来编写,括号中才写了作者,但我阅读了后面的内容,大致意思便是一般都是作者自己编写,但我有些不明白,如果说作者一开始便对一个程序有了误解,那么他写的代码也会存在误解,如果在让作者自己编写测试,会不会把这个误解越化越大,俗话说“当局者迷,旁观者清”,如果让了解需求的第二个人来编写测试会不会减少错误,同时,让第二个人来编写是不是可以减少作者的工作量,达到更高效的目的?
章节三.IT行业的创新
这一章相对来说是比较轻松的一章,看的很有意思,不过,看完这一章,我有两个地方跟作者有些相悖的想法:
1.“不但连大众不喜欢创新,甚至连创新者自己都不例外,有些创新者甚至恨创新”
2.”要成为领域的专家,才能创新“
为了论证第一条,书上举例说发明电报的人会讨厌发明电话的人,因此他便讨厌创新甚至恨创新,那么我想问当初他是抱着怎样的心态去发明电报的,煎熬?痛苦?明明不喜欢却还是埋头苦干,至少在我的理解中不是这样,我觉得一个创新者就应该鼓励他人创新,鼓励社会大众创新,这是一个社会发展所必需的,在我的理解中,一个上进的创新者会很乐意别人去挑战他,然后自己再继续努力挑战别人,时代也是在这样的挑战中发展的,如果一个创新者痛恨创新,那么他也许根本不配被称为创新者,而只是一个发明者,“创新,被创新,再创新”这才是一个创新者应有的品质。
关于第二条,书上说有时候一个领域的专家往往不如领域外的人懂的创新,也许是理解的不同,我觉得并不一定要有专家头衔才能成为专家,有很多懂得创新门外汉已经到达甚至远远高出专家水平,比如一个数学家他运用物理知识发明了一个全新的事物,那么只能说他虽然没有物理专家的头衔,但物理水平早已到达了专家级别,不然也不可能有此创新,但也许是我的理解太过狭隘,错读了这句话的含义,还请老师批评讲解。
最后想说的是,真的很喜欢这本书,写的特别好,让人看了不会厌烦,而是饶有兴趣的一章一章的往下读,在第一章中有这么一段话我便很喜欢:
哲学家的宗旨:我思,故我在
科学家的宗旨:我发现,故我在
工程师的宗旨:我构建,故我在
短短三句话把三个领域的特点展现的淋漓尽致,意味深长,发人深思。
引用
百度贴吧http://tieba.baidu.com/p/213078834