《大道至简》第二章读后感

《大道至简》第二章读后感

初读《大道至简》,在第一章认识到了编程的精义,程序=算法+数据结构,也知道了任何一个工程项目都包括了顺序,分支和循环结构,所以在抽取了整个工程的大骨架之后,在个人的项目理解上,把结构填充。

那么,同样面对一个工程,如何让客户放心的交给你?而你又如何把这个项目做到完美(用时时间少,工程质量高)?答案就是一个人的创新性思维,也就是我们所说的“懒人”的办法。正是因为有了懒人的方法,才可以更加好的完成任务,而“愚公”式的人却只能墨守成规“扣石垦壤”。在这里,我们看到了信息化社会的本质,那就是变化,没有变化,社会就无法发展,或者说发展的空间并不大,对于信息化的操纵者来说,将自己所学的知识全部整合,分类取用,在自己的所学基础上力求创新,这种变化是每个人都必须要有的,而且还要在这基础上发展下去。

一个良好的编程习惯,必定有一个良好的结果。无论是找工作面试,还是工作中竞争,首先看到的是你的编程界面,一个规范的编程界面可以为你加分不少。如果一个一万行的代码,当然是可以写到一个文件里,所以说勤快的愚公创造不了方法。对于要把“一百万行代码写到一个文件”的勤快人来说,是不能指望他们创造出“单元文件(Unit)”这样的开发方法来的。模块,把一个大模块分成小模块,再把小模块分成更细的小小模块。终于可以让源代码分散开来,这样,作为一个团队,其他人也可以懂得你的编程的思路以及代码,于是,新的方法取代了旧的方法。

程序的本质是什么?有了问题,大家都进行了思考,于是得到了两个答案:面向过程和面向对象。

以下是自我理解:面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了,尤其是像C语言这样的过程式语言,他就是通过执行程序来一步步实现功能。 而面向对象就是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为面向过程是一种直接的编程方法,它是按照编程语言的思路考虑问题,他的集中点是解决问题本身而不是语言。

我说的这些都是自己的理解,可能并不是完全正确。对于面向对象,有一些官方的定义,但是根据不同人有不同的理解,所以说,很多东西都需要在学习的过程中去理解体会,但是如果不亲自动手做点东西,及时有自己的理解,那也很难真正体会。

原文地址:https://www.cnblogs.com/sist1437493141/p/4838044.html