大道至简读后感
应老师要求,我在暑假期间读了大道至简这本书,不仅认识到了之前的学习方法的不足,也从中收获了一些东西,我将把我的收获和感受以读后感的形式记录下来。
在大一上学期,初入编程大门,只是在网上对编程有过片面的了解,在我印象中编程就是一项“体力活”,简单点说就是:编完一个程序只是时间问题,就像高中写作文一样。不能说简单,但也绝对不难。可是真正到了接触编程我才发现自己的想法是多么的愚昧。因为大一上学期的c语言都让我摸不着头脑。慢慢的,我发现了编程更偏向于做数学题,就是用数学的方法来解决问题,并用代码将其呈现出来。这大概就是书中所说的“算法”吧。因为从小学开始就已经开始学习英语,所以我刚开始对c语言并没有什么大的想法,想着不过就是一门新的语言罢了,现在看来我当时的认知是多么的浅薄。果然,编程靠的更多是头脑,而不是蛮力。书中说懒人造就了方法,我完全同意,确实,因为“懒”,那些工程师们才会想自己的办法来简化过程,缩减代码来实现同样的功能。但是他们的“懒”和我的“懒”是不一样的,他们是通过动用脑力来实现节省体力的目的,而我确是单纯的追求身体上的满足。上学期的代码现在看来有很多的赘余,就是单纯地没有动脑所致,没有考虑到更优的解决办法,所以自己写出的代码总是很长,但多是重复的东西,比如有些东西完全可以写成一个函数来调用,但是自己总是用一次写一遍用一次写一遍,浪费了很多时间。这就是自己没有理解“算法”的真正含义,现在看来,算法就是要“精”和“简”。
老师总是强调一个问题,就是要养成注释的习惯,因为将来编写程序是要和其他程序员合作完成的,自己编写的代码不仅要自己看得懂,还要让别人知道自己想要干什么,这样才能培养好团队配合的能力,从而节约更多的时间,提高完成工作的效率。还有就是不要为了完成任务而完成任务,一个程序要考虑更多的方法,例如链表节点的插入,可以使用头插法,尾插法和从中间插入的方法。还有就是在定义变量时的规范定义方法,例如组合单词要将第二个单词的首字母大写。类似的要注意的点还有很多,都应该在我的考虑范围之内。
文中提到的现实中的软件工程,更是对我们的一种考验,当我们从校园到了单位,我们的侧重点就会变更,在校园考虑的是如何完成任务,在单位考虑的就会更多,例如时间、团队配合等等。
总之,在接下里的时间里,我会正确审视编程这门课程,学会“偷懒”,即用多动脑思考来减少工作量。不再盲目的去完成作业,而是在日常的作业中去积累更多的编程方法,运用到以后的编程中去。