关灯
护眼
字体:
《万物起源》第5章:解决
上一章 目录 下一章

今天陈经打球是过瘾了,以前都是他在的队被人打得连气都不敢出,现在却能砍别人了,并且他的体能优势越到后来越明显,后面其它人都动不了了但他还是能跑能跳,加上不再惧怕高大的人了所以经常能赢球,直到天气微暗他才收好球回宿舍吃饭再洗漱好后才上教室。他位置是在最后一排,虽然他成绩不是最差但还是把他安到后面,谁让他高呢,要是他在前面那很多人都没办法看到黑板了,其实这正合陈经的意思,只见他眼前摆着一本书,一副认真看书的样子,但认真看他的眼的话就会发现这家伙眼珠根本不曾转过,他整个人在神游呢,不过认真想也是,初中的知识对现在的陈经来说没有任何问题,要让他翻来复去地看那也太为难他了,其实陈经现在是在回忆今天下午的球赛,做什么事都要总结一下它们的过程这是他一起以来形成的习惯,从这今天的比赛上他看到了自己的不足,他直到现在才发现自己的内心其实很脆弱,想不到自己那么容易就逃避困难,看来是自己是因为以前顺风顺水惯了,却从来没有遇到真正的挫折,因为稍微有一点不顺就消极逃避,看来以前自己还是太自大了啊,虽然表现出一个乖孩子的样但内心却是极度骄傲,看样子要慢慢改变这种想法才行,要知道自己最多也只是有些小聪明而已,但这世上有几十亿人奇人异士也不知道有多少,人外有人天外有天啊,我是白看了那么多书啊,这难道就是传说中的纸上谈兵?以后自己要多加努力不能算满啊!

这一次对自己内心的剖析让陈经正确地认清了自己,这对他以后有着极为重要的作用,他时刻提醒着自己人外有人,从不曾放松过自己。而这一次自我思想教育过后他终于对他一生中遇到的第一个学习上的难题有了解答,并让他从此形成了一个特别的思维模式,那就是遇到难题解决不了的时候问题放松一阵子。而他这一生中的第一个学习上的难题是什么呢?其实这个难题他已经想了很久了,就是今天下午打饭的时候想着的那个问题,本来快有头绪了不过被打断,接着直到此时他都没空去想,但当他正回想着下午的那些比赛时突然消失的灵感又回来了,对于下午的这几局斗牛他首先想到的是一句经典的话语“篮球是五个人的运动”而想到他以前的比赛那就变成了“四个人的运动”因为他发挥的作用基本上没有,除了偶尔能欺负个别身体比他差的之外基本没什么贡献,这样导致其它四人受到的防守压力大增,五个人防四个人当然能轻松胜任了,而他今天下午的突然发威却变成五对五的比赛这才变成真正的比赛,每人都各司其职,球到陈经手上的时候他能很好地处理球,而不象以前那样空有技术却无法发挥出来,其实说白了就是每人都能发挥自己的作用,最后五人形成一个整体,五个人都发挥了这才起到一个质变的作用,否则任何一人发挥失常都对球队产生极大影响。

由此他想到一直困扰自己到现在的难题,也就是他这几个星期一直想不通的问题。他这些天在学习C++编程,他早早就学完了初中的内容,无事可做的他就到图书室找书看,虽然图书室中的书不是很新,但陈经还是找到不少新的内容学习,比如他就比较喜欢找计算机方面的书看,对于计算机相关知识,他觉得不难很多东西他在上电脑课的时候操作练习一下就基本上没什么问题了,但编程方面却遇到难题,别的东西都好理解,但是“面向对象”这个概念他很难弄,其实这也不能怪陈经,因为他现在能接触的知识还是太少了,一所中学的图书室不可能有太多编程方面的知识的,另外就是他自己没有一台电脑,所以不能练习,其实很多的东西如果自己做过一遍后就很清楚了,而学校的电脑却没有相关软件给他练习,就算装有软件一节课的时间也是远远不够的,因此他仅仅停留在空想阶段很难理解这个本来不是太难的问题,不过就算这样也还是让他对此有了一点点的感觉,而一想到今天的球赛他脑袋就活起来,不自觉地想到C++方面,他发现自己走入一个误区了,他的思想还是习惯写一个函数包办完所有功能,就象他以前跟初中的学生打篮球,基本上都是一个人包办完,其实他旁边也有不少同学打球不错的但是大家都习惯把球传给他而他也习惯一个人打别人几个,其实对手都被他吸引了几个过来了,别人身前根本没人如果陈经传球出去的时候那他们能很轻松得分,但陈经就是一人打五人结果是他运动量超大,虽然他体能不错,面对同龄的同学根本没什么问题,但是一旦面临强一点的球队,那他就会非常累而且效果也不会很好,也就是说他干的事是吃力不讨好的,就象他的打球风格一样他编程思想也是一个函数就想包含所有功能。

其实这也不是不可以但有一个前提,那就是这个函数超强而任务超简单,就象他们班对别班一样他水平跟别人比强出一大截,但是这种情况不可能一直维持下去随着年龄的增加他们差距会起来越小,真正的强队必须是能发挥场上五名队员的所有球员能力,就象今天下午一样,自己所在的队伍跟以前完全是一个天一个地,就因为他这个以前不发挥作用的队员能发挥真正作用,所以必须要学会分工合作球队这才能真正成熟有变成强队的资格,而象编程中也是一样要分工合作,随着要处理的事情越来越难,如果只用旧的思想来编程那只会把程序搞得起来越复杂,而其实任何复杂的事情都可以分解成几个比较简单的事情来的,就象是流水线作业一样,本来一个产品如果一个人做的话那这个人必须熟悉制作的每一个过程、工艺、原理,但如果分成几个人来做每人只做其中一个部分那他就会对这部分很熟悉无形中速度就快了很多,而且也不用等先做完这个再做那个了,用一个比较简单的说法就是那是并行处理的,而旧的方式则是按顺序一个一个地来的,如果前面没做完就不能做后面的。而面向对象的编程思想其实就是为了使程序不那么复杂,而把大程序拆解成一个个的小程序,也就是分工,一个小程序只完成一个小任务,而且同个小程序可以同时运行,所以的小程序一起完成比较复杂大型的任务,但是这样一来就要求小程序必须要有较高的运行效率,否则还不如一个大程序来得好,就象流水线作业,如果流水线中生产的某一个部分比原来生产整个产品要的时间还要长,那还不如不用流水线生产。因此陈经觉得自己以前跟面向对象的编程思想背道而驰了,他只想着把一个函数做得起来越强,但是那样的话运行速度肯定越来越慢,而且编程难度也会越来越大,其实他应该反过来想,应该把函数做得越简单越好,功能也不用太多只要它能完成一两个小任务就可以了,但是函数可以多编几个,把大任务中功能类似的内容分到同一个函数完成,不同的小函数完成不同的功能,那样不但效率提高,编起程序来也相对容易了,但是这不是编出能完成任务的程序就算了,还要注意各函数间的配合,让它们以最简单有效的功能来完成最多的任务,还要防止函数间冲突这类的,总之还是一句话其实面向对象就是分工合作或者说是流水作业。有了这点理解陈经也是彻底明白了这个问题。


上一章 目录 下一章

随机推荐