大道至简读后感

发布时间 2023-07-31 19:02:56作者: Snor9

   今日读完了周爱民先生在软件工程方面的经典著作《大道至简:软件工程实践者的思想》,在详情页上介绍这本书时言:本书提出了审视软件工程的全新视角和软件工程的体系模型。是软件工程行业一本经典的著作。细细读完,颇有一番收获。

        全书都在引用中国古代故事“愚公移山”和各种中国古代的经典书籍的句子,很是通俗易懂。贯穿全书的可以说是愚公移山了,从这个非常短小精悍的故事里作者总结出了很多道理,包括了个人,团队等方面,综合大一过去一年的学习经历,我从中找到了一些问题

        首先,不懂自己应当做什么。这本书的第一章叫做编程的精义,是以愚公为线索而引出的,书中将愚公称为工程名家,将编程的精义写为“顺序,分支,循环”,也提出了编程的第一任务要务是先把事情分析清楚,把事件先后逻辑关系和依赖关系搞清楚,然后再去写代码实现。我并不是这么做的,在写C++作业的时候,需要自己打一个完整程序的时候,当我写到main函数的时候,总会发现我在前面的类里少一些关键的东西,我一般总会关注实现什么功能,但总是会搞不清每个对象之间的关系,当我要调用一个对象时,才会发现我缺少了很多这个对象依赖的代码,导致总是修修改改,改着改着连main函数让干什么都忘了。按书中所讲,我并没有抓住编程的精义,会工作繁乱,丧失前进目标。

        其次,我并不会将需做的事分块简化。说实话,我认为我平常做事还是有条理的,但只要一写代码,脑子就很乱。在写C++的程序的时候,由于我不怎么理得清楚各个部分都是用来做什么的,写长一点的程序经常出错,比如在学习继承与派生的时候,父类与子类时,我总是在子类中写很长的代码,但很多代码我只需要将父类里的改一改就可以了,但我脑子里,这两个部分是分开的,父类与子类是不在一个区块的,我并没有在脑中将我要实现什么功能,需要几个板块,每个板块做什么搞清楚。如果一直这样,可能学一辈子编程,也会像书中的学生问出:“为什么我学了一年的编程,却还是不知道怎么写程序呢”的问题,不会写程序。

        其三,不为后续着想。书里用维护就软件的难度远远大于新开发一个软件的例子来批评某些不为后继者思考的开发者,这种情况联系到个人,就是我这种写了后忘了前,不知道思路,不知道怎么修改。这样子会浪费大量时间,消耗对开发的热爱。

       书中还有很多部分在叙述语言,团队合作,怎么做工程等,由于我没有开展过团体性的合作,所以感触并不是太大。

       对于我上面找到的问题,其实还是归于对编程的不了解,不能结构化分解工程。在以后没有条理头绪的情况下,可以先将思想从编程中拉出来,将所要做的事转为生活之中的事情,思考第一步干什么,第二步干什么,这个东西和另外一个东西有什么关系,然后再转化成对象,转成代码。然后还要多在程序里写注释,让自己能看懂之前的思路,以查漏补缺,修正程序。

      以上,是我对《大道至简》浅显的感受。