zoukankan      html  css  js  c++  java
  • 李冰烧山——大道至简第二章读后感

          读了第一章的愚公移山,让我更深刻的体会到了编程的精义,就是把一个复杂的问题分解成一个个小问题,逐个解决。就像编写一个最大公约数,就要先想出两个数的最小公倍数,而最小公倍数的求法,就可以用1开始一直除到这个数的一半,然后再找出能除尽的最大的数。这样,一个问题就被我们分解开,快速的解决。

         而第二章,主人公变成了李冰。战国时期的李冰凿了一座山,他的方法和愚公有着天壤之别,愚公会凿,李冰会烧。在两千年前的某一天,闲极无聊的李冰下厨给夫人炒了一个小菜,他突然发现垒灶的鹅卵石被烧得爆裂开来,遇水尤甚。从此《史记》上记下了“蜀守冰凿离堆”, 而《华阳国志》上记下了他做这件事的方法“积薪烧之”。从这段我们知道了,李冰是个懒人,他在一个大工程中不去凿山,而闲的看火烧石头。正因为他懒,他才不愚,如果真的像愚公一样勤勤恳恳,估计干不成什么事,只为山发愁。我们在编程之前,不要急着去敲代码,要先去想一想问的解决方法,会更有效率。

          作为一个懒人,在编程的结构上也要做到取捷径。把一百万行代码敲到一个文件里可以,但是除了自己没人知道你写了什么,甚至你自己也不知道。所以,在写程序时,分成好多模块,用多个文件实现一个功能,这样不仅自己看的清楚明白,更有利于团队合作,可以一部分人写这几个单元的代码,另一部分则写那几个。任何事情离不开团队,编程更是如此,一个大的工程自己很难完成,只有学会合作,才有长远发展。

          在使用编程的知识方面,也同样需要多想一想,就像把书桌上的书分门别类,头脑里的知识也需要整理,把编程常用到的知识放在手边,比如循环选择等结构,需要经常使用练习。而那些编程不常用到的知识可以放在书架上,等到需要用的时候再拿出来复习复习,无需把所有东西都摆在桌面上,这样就会分不清知识的结构,主次,导致学起来很乱。

          最后一部分作者为我们引用了一段他与王昊的对于面向过程和面向对象的讨论,得出了我们熟悉的一段结论:程序 = 算法 + 结构 + 方法。但是知识有限,读了两遍还是不懂,就明白了他俩的面向对象的观念相同,总体结构->面向对象,关系->数据结构,实现->算法。

  • 相关阅读:
    迁移服务器遇到django-crontab不执行定时任务问题
    纯CSS3+DIV实现小三角形边框
    mysql密码错误-ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passwor:yes)
    收货地址下边的平行四边形彩色线条
    小程序导航栏全屏navigationStyle自定义导航栏,小程序轮播图导航栏
    移动宽带下Github网页上不去的解决办法
    线段比例式或等积式的证明思路
    两角不等的证明思路
    线段不等的证明思路
    两角相等的证明思路
  • 原文地址:https://www.cnblogs.com/xiaosongbiog/p/4832801.html
Copyright © 2011-2022 走看看