软件开发是一件愉快、有意思的工作,我们在“做中学”会让自己感到快乐,会大大的加快我们开发的效率。在我正式开始阅读这本书之前,我对于软件工程这个词汇的概念还是模糊的,认为它只是停留在是一门学科,一个专业,或者是一大堆硬生生的理论知识,然而当我读完构建之法这本书的推荐序和第一,第二版前言开始,我就深刻意识到我之前对于软件工程的肤浅认识是多么错误。我看书一般喜欢从从书的封面开始看起,或许这也是大多数人看书的习惯,·在本书的封面素描着一副鲁班锁,刚开始让人感觉有点奇怪,明明是一本讲软件工程的书,为什么要用鲁班锁做为封面图案呢?原来玄机深藏于鲁班锁的内部,这鲁班锁从外部看,是严丝合缝的十字立方体,但是各个部件在内部凹凸部分互相咬合,这正是“构建之法”的体现。
一般来说,软件团队都要用户提出需求开始的,再到软件的整体构建,然后是软件设计,这是各个功能的代码实现阶段,再者是软件测试阶段,测试完之后,投入到实际生活中使用,在实际生活中接受用户的各种各样的反馈,解决bug,维护软件。这是一整个软件开发的流程,再加上对源代码以及项目的管理,构成了软件开发的核心,广义上的软件工程还包括用户体验部分,交互界面的设计部分等等,由此,作者得出一个推论:软件 = 程序 + 软件工程。这个推论让我对软件这个概念有了深刻的认识。
我过去如何做的:在过去的时候,我认为写代码就是要埋头写,不去理会其他的东西,这样才会写出来自己想要的代码,但是事实上效率还是比较低,走了许多的弯路。
得到的感受:我认为“做中学”是符合科学的学习方法的,这可以让我们既学到了知识又可以去实践,比只学不做或只做不学效率上高得多,“学而不思则罔,思而不学则殆”。
今后的做法(解决方法):在学习的过程中注意实践,不要只学习理论上的知识。在实践的过程中注意和身边的人交流,以防陷入自己迷茫的境地