读《大道至简——软件工程实践者的思想》有感

发布时间 2023-07-31 10:18:08作者: cvjj

        近来读了周爱民先生的《大道至简》一书,这本书主要是从一个软件工程实践者的角度来写的一些工作及工程上的经验,以下是我读后的一些感悟以及自己对于软件工程新的理解。“大道至简”一词出自老子的《道德经》,这句话的意思是:宇宙间万物一开始的时候,所有的一切都是最原始、最简单的,最后经过演化以后才变得复杂起来。周爱民先生以“大道至简”为题,也充分概括了全书的主要内容,在书中处处体现“大道至简”,“程序=算法+结构”、“ 编程的第一要务是先把事情分析清楚,事件先后的逻辑关系和依赖关系搞清楚,然后再去代码实现。”、“团队的基本特性:主从、监督和责任。”等等,简简单单的话,道出了编程与工程的要义。在读这本书之前,我只是刚刚选完软件工程这个专业,大一期间还没有进行专业分流,只是学的C语言和C++,了解到编程是可以面向对象也可以面向过程,不过也仅此而已,因为没有关于软件工程的经历,这里就暂且说说我在学习C语言和C++时的一些体会吧,在报考计算机专业之后,就了解到C语言是基础,因为开始学的时候就是编程,我就一直以为计算机大类的所有专业小类也就是单纯的编程,后来学习了C语言的判断语句循环语句之类的,了解到程序结构有顺序、选择和循环三种结构,读完书之后发现软件工程也是这样。在过去遇到题目,我一般都直接摁着题目要求就去敲代码,题读到哪代码敲到哪,之后学了递归等算法之后也不会熟练运用,当遇到不会的部分了也只是想为什么在那里过不去,并不考虑全局,以至于到最后仍然没能把题目完成,或者是题目完成了但是花费(也可以说是浪费)了好多时间,这便是书中说的“成本”问题。另外也是属于没有清晰的思路计划等等,以至于在完成题目是乱七八糟,条理不清。

        在读完《大道至简》这本书之后,对于软件工程有了一定的了解,书中提到“成本”问题,告诉我们在工程开始之前,首先对于人力物力时间的消耗做出一个预测,做出一个合理的计划。在学习时,也不能去埋头苦学,要在学之前想一想应当如何去学,如何学才能够更高效,就像书中书的“愚公“一样的学习是不可取的。在写代码之前,也应该去注重思路分析的过程,不应该上来摁题就做,没有条理。软件工程工作者,一般都是面对着一个需要多人合作的项目,而对于合作的项目,也是需要有人来组织来管理控制,而这个管理的人并非是最强的,而合理的制度也是相当重要的,有助于项目更快更精准的完成,在做项目之前,首先还要搞清楚客户的需求是什么,工程的目标是“实现”。

       要想在学习之前有个清晰的思路,做项目之前有个清晰的条理,我认为可以首先了解一下要学习的内容,大概给出一个框架,找出怎样才能层层递进的去学习深入,而在做项目之前,要先思考,首先做出结构流程图,然后再去编程或许可以达到事半功倍的效果。

       以上便是我读书之后的一些感悟与理解,对于我的“软工之路”起到了很大的指引效果。