《大道至简》读后感

发布时间 2023-07-15 23:01:28作者: 千恒

                                                                                                                            《大道至简》读后感

 

《大道至简》这本书是周爱民显示从事软件工程多年的思考与总结,具有周爱民先生从软件工程实践者角度写出的独具特色的个人见解,小到编程的精义,大到项目的完成,各个方面都有一些涉及。阅读之后,对软件工程有了更丰富的理解,对软件工程的认识得到了更深更广的拓展,也收获了一些关于软件工程的思考与启示。

     书中由愚公移山这个故事引入,这个故事可以看出编程的精义:顺序,分支,循环。在日常生活中其实也可以感受到编程,例如起床,或者晚上睡觉前会做什么事情都是有顺序,一天天的做每件事的循环都是如此。此外,书中提到:编程的第一要务是先把事情分析清楚,我也是这么认为的,只有把事情分析清楚,写代码时才能下笔如有神。相信也有很多同学包括我都会在学习编程之初犯一个同样的错误,那就是不把事情分析清楚就直接写代码,但那样很有可能会发生写一半卡壳的情况,因为没把事情分析明白,只能边做边想,但如果写到一半发现整个结构上出现错误了,可能要推翻重写,也就是会前功尽弃。程序=算法+结构,算法是对程序逻辑实现的描述,结构则是逻辑实现的数据实体,二者相加便是程序,此后的事情便是劳力,我个人也认为这样说完全正确,我个人学习编程之初是看到程序直接写代码的,但这样做只是写一步,分析一步,根本就是跟着题目走,脑子里完全没有一个大致的思路和框架,这样做是很浪费时间而且低效的。书中提到最简沟通这一想法,与客户沟通直戳了当,了解客户深层次的需求,这其实是有必要的,因为客户不会对你的工作关心,他们什么都不懂,只希望你能帮他们实现,所以实现最简沟通,不仅可以节约开发工作的时间,更能让双方都满意,当然这可能和现在的我没什么关系。实现,是软件开发的本质需求,更是我们软件开发的动因。我们应该讲究以实现为目的,而不是纠结于这个过程,所以书中的意思可能是我们会被工程限制住,要打破这个禁锢,去实现,正是由于实现的根本,我们才会去想算法,想结构,去思考。书中还提到了一个尖锐的矛盾:实现目标与保障质量。对于开发人员来说,在有限的资源和时间内完成客户所要求的目标可能是重中之重,毕竟谁不想早干完早收工,但可能会伴随质量问题,就像做PTA明明实现了所有结果,却因为运行时间太长而错误,这可能需要一个平衡,和在项目开始之初制定一个正确的目标,关注一下其中的细节。还有一个重要的方面是要知道一个技术和方法的原理,这样可以尽可能回避错误和变通。

  很同意书中引用的话:亦步亦趋学不好编程,即明白原理,知其中之道对编程来说是十分重要的,但明白原理对于普通的亦步亦趋学习者可能稍微有点困难,但也不得不相信勤能补拙。