今天读了《大道至简》的第2章——是懒人造就了方法,通过学习这一章的内容。我知道了作为一个程序员不仅要像愚公那样勤奋,有时候还要像李冰那样学会“懒”,当然所谓的懒并不是说要什么都不干,而是要寻找解决问题更加简单的方法,这样可以使做事时事半功倍。
首先,作者讲了:是懒人造就了了方法。同是战国时代,同是凿山,愚公是:“叩石垦壤,箕畚运于渤海之尾。”而李冰却懂得了“积薪烧之”。而为何说李冰是闲人呢,因为他虽然管理着一个巨大的工程,却还可以闲到没事去看火能不能把石头烧爆。正是他发现了烧石头的方法,才能让工程完成的更加容易。愚公和李冰的故事当然不是鼓励我们做个闲人,而是说要我们做一个善于创造新的方法的人。因为我们人的精力毕竟是有限的,创造一个好的方法可以使人以更少的精力完成一件事,也就做是所谓的闲人。
然后,第二节:一百万行代码可以写在一个文件里。这一节讲的内容主要就是:并不是所有的代码都要写到一个文件里,而是要学会创造出单元文件。因为早期的汇编语言,GOTO语句用的频繁,所以大家习惯的就把代码写到一个文件里去,以至于后来出现了高级语言后,人们还是很自然的将代码写到一个文件里,无论这个程序有多大,多少行代码。所以也就出现所谓的“一百万行代码写到一个文件”。但是有勤快的人,也毕竟有懒人,他们创造出了单元文件,于是很快出现了新的概念:模块。他们将一个大的模块分成了许多小的模块。然后开始了几个人编写一个小模块的分工合作,这样便大大的提高了工作效率,所以说这节的内容告诉我们要把程序分成许多单元文件,以简化编程。
第三节讲的是:你桌子上的书是乱的吗?这节的知识主要告诉我们要对知识进行分类。有一个学生问作者:“为什么学了一年的编程却还是不懂怎样编程?”作者则问了他一个很简单的问题:“你桌子上的书整齐吗?”其实他是用这个问题告诉学生要把知识进行分类整理,就像是整理桌子上的书一样,将常用的和不用的都分别进行整理,这样才能将知识更好的掌握,从而编写出好的程序。
然后第四节讲:程序=算法+结构+方法。这部分主要讲“面向过程开发”与“面向对象开发”的区别。其中“面向过程开发”是对“结构化程序设计”在代码阶段的一个习惯性说法,而在这个过程中只需有“单元”和“模块”的概念,并不会凸显“方法”的问题。这就像愚公一样,只有勤奋,却无方法,不可能在很短时间内完成一项很长的工程。而“面向对象开发”则要求我们注重方法,因为“过程”和“单元”出现了,这样就会像李冰一样在较短的时间内完成一件较大的工程。
总之,第2章交给我们的是在编程的过程中光靠勤奋是不够的,还要注重方法的使用,将程序分成一个个小模块,这样才能完成一项很大的工程。