《大道至简——软件工程实践者的思想》读后感
大道至简这本书,是我们老师推荐的读物,原本我只是抱着完成读后感任务就行的心态去读这本书的,可是,当我看完第一章,我就感到受益匪浅,于是放弃了这个愚蠢的想法,开始认真地读了起来。
这本书不仅句句干货,而且还不乏通俗易懂的举例,分别从编程的精义、方法、团队合作、沟通、过程、从编程到工程、现实中的软件工程、思考和思想等方面综合概括了编程的主要内容。另外,周爱民还引用了其他许多小故事来表达,更是帮助我们较为容易的理解这本著作所讲述的软件工程的知识精解。
第一章通过愚公移山的寓言故事引出了编程的根本:顺序、分支和循环。愚公移山这种工程问题可以通过简单的编程来实现,就是把自己想要计算机做的事告诉计算机,并使计算完成这件事的过程。所以编程的第一要素是搞清楚事物的逻辑关系、先后顺序以及依赖关系,其次才是敲代码,而并非拿到题目就开始敲代码。
这本书一开篇就使我反思,“愚公都能明白的编程精义,那些向我发问的智叟们又怎么会不明白呢?所以除了先天智障或后天懒惰者,都是可以学会写程序的。”这句话,一语道破了我没能学好编程的根本原因,那就是——懒惰。既然我们能考上大学,那自然就能说明我们并非先天智障,而我学c语言和c++的时候就是因为后天懒惰才没能学好,就是因为无限次地依赖AI,很少自己去写作业,,基本都是直接发给AI,然后不断让AI调整出的结果,所以说白了,我之前的作业都不是自己写的,而是AI写的,编程这一行最忌讳的就是不亲自动动手,一次次依靠着AI的便利加上我自制力本就差,导致我越来越懒惰,越来越不想自己亲手敲代码写作业,越来越不想去思考题目如何去做,越来越不想去记忆那些知识点,以致后来我的c语言和c++学的越来越差。看完第一章后我幡然醒悟,我以后的编程学习中,我一定会摒弃懒惰的行为,纠正自己的学习态度,亲自动手去敲代码,自主独立地完成老师所布置的任务,同时每天保证200+行有效代码,动手敲,不只是看,要亲手去实践,要亲手把所学的去敲出来。再者,周爱民先生在书中提到过“是懒人造就了方法”,如果我真的要去偷懒,那么我就因该去提出一个新方法来解决我的问题,从根本上提高效率,这样我才能“偷懒”、“做个懒人”。
此外,还有一句话也指出了我的问题:“你桌上的书是乱的吗?” “你既然知 道如何把书分类、整整齐齐地放在书桌上,那怎么没想过如何把所学的知识分类、归纳一下,整整齐齐地放在脑子里呢?”我们就应该将学过的各种知识点,像整理图书一样,分类归纳到我们的脑子里。以前我从来没有这种整理归纳知识点的意识,因此我所学的知识在我这里就是混乱的,往往随着知识越学越多,我就敢到越来越混乱,总是不知道该从哪开始,明明学进去了,但就是不知道该怎么去用,不知道该用些什么知识点,以前我总是抱怨:作业题和考试题真的和我们学的有关系吗,它考的真的是老师交的吗……以前我总是认为它们毫不相干,事实上,这都是由于我没有分类归纳导致的。以后的学习中,我都会将所学的知识点归纳总结,这样到我要用的时候就知道要用什么知识,就能知道什么知识该怎么用。
接着就是周爱民先生对团队的看法,他认为:“团队缺乏的不只是管理”。这些对于我来说是没有接触过的,但读完这一章,也对以后的工作有了一些了解。有了确定的团队模式,才能寻求相应的管理制度,并且才能把这样的制度实施在团队之上。道出确定的组织的重要性。接下来还谈到一个团队制度的问题,也谈到管理者自省的重要性及角色。身为一个大一的学生,对团队的接触少之又少,读完这一章,带来的感受可谓颇深,原来做程序不只有单纯的建工程敲代码那么简单,还要考虑到一个团队,以及每个成员的作用及管理,团队的力量强大。
而后面几章流于形式的沟通、失败的过程也是过程、从编程到工程、现实中的软件工程、具体工程这几章,说实话我没怎么看懂,因为里面有好多术语我还不知道,并且这几章内容大多都与工作实战有关,我没有写过实战项目,所以并不是很懂这些。大概讲的应该是要保证编程者与用户之间交流的有效性,还有各种编程中适用的“牛屎图“之类的编程方法和编程思想。
最后,正如周爱民先生所说:“死读一本《软件工程》的人不会做真正的软件工程。”我们要“知律而变”,不能只抱着一些经典的教材亦步亦趋,这本书不重要,重要的是通过读《大道至简——软件工程实践者的思想》这本书来发现自己的问题,并及时改正,了解这些技巧、技术和方法的原理,及时变通和回避错误。我今后一定会改正我前面所发现的自身问题,并严于律己,严格执行我自己想出的解决办法,避免再次掉入陷阱。
周爱明先生把自己的思想和对编程的理解通过这本书表达了出来,它不仅让我对编程有了更深层次的理解,让我豁然开朗,意识到自身存在的问题,还使得我重拾了对编程的自信心。“工程其实很简单, 只是大家把它做复杂了。”化繁为简或许就是周爱民先生想表达的最终用意,我将会谨记这句话,并在将来的学习中践行,我想,只有这样,我们才是真正地做软件工程。