爷爷奶奶可以不听老爹的话,但是老妈的话却要仔细的考量一番。觉得老妈这番话的确是有道理后,爷爷奶奶便坐在一边,不再言语。
家里的气氛有些怪异,我觉得心里有些堵得慌。
「真的是我错了么?」
我不禁在心里反复地问自己,老爹好像说得没有错,如果我不是为了炫耀的话,这一切根本就不会发生。想到这里,一阵难过涌上了心头。
「玥玥,你再跟老爹把事情的经过,理性,客观地说一遍。」
老爹轻轻地拍了拍我的后背,尽量让自己的声音更加温和。
我的难过的情绪一下子得到了舒缓,于是将整个事情完完整整地说了一遍。
「你看哈,对于其他小朋友来说,在你这个年龄阶段能够编写出来游戏的确让人有些难以置信,他们会产生怀疑也是理所应当的。如果现在有个小朋友说自己会开挖掘机,你是不是也会有所怀疑呢?」
「嗯」
我点了点头,毕竟当初我学习骑自行车都费了好大的劲,跟别说是开挖掘机了。
「但是对于那些已经学会开挖掘机的小朋友来说,只是just so so。你想看,自己是不是有这种感觉,认为编程也不过如此?人啊,都是这样,对于自己不了解的东西总是觉得高深莫测,难以企及,紧接着就是自我否定。
如果这个时候突然有个人跳出来说自己可以,你说那些否定了自己的人能不怀疑么?否则岂不是承认自己比别人要差一些?」
听老爹这么一说,好像还真是那么回事。
「至于那个同学乙嘛,长期被你以极小的优势压了这么久,心里有些不平衡也是正常的。咱们也大度一点,没事不要去刺激她。当然了,她如果实在要找不痛快,咱们就接着,但也要注意方式方法。
所以对于今天的事情,老爹认为在性质上没有错,只是在处理的方式方法上有些欠妥。玥玥啊,要记住,不同的方式方法可能会导致结果出现本质上的不同。
莫要得理不饶人,得饶人处且饶人。」
老爹语重心长地说道。
说完后,老爹就拿出手机给班主任黄老师打了个电话,说了一些给她惹麻烦云云之类的话。
接着老爹又给同学乙的家长打了电话,又是一阵道歉。
有道是伸手不打笑脸人,同学乙的家长表示这是小孩子之间的事情,就将此事揭过了。
「哦,对了老爹,我给你收了一个小徒弟……」
见气氛缓和,我将小弦子想跟着我们学习编程的事情告知了老爹,老爹愣了一下,估计是和我有相同的疑问,毕竟六叔叔的编程技术可不是说着玩儿的,要教小弦子是绰绰有余。
在听我说完事情后,老爹欣然同意,主动学习这可是好事情。于是老爹顺带将小弦子问的那几个问题给解答了。
从此以后,我和小弦子之间的话慢慢变多了。当然,争论也变多了。课前课后的时间我们都会交流与编程相关的东西,譬如算法之类的东西。每次都会引来不少的同学围观,结果发现听不懂我们说什么后总是要问上一句,在得知是编程相关的东西后摇摇头离去。
时间就这么一点一滴的溜走了,转眼间就来到了星期六。
一大清早,小弦子的妈妈小鹿阿姨将他送到我们家,和爸妈寒暄了几句就开车离开了,说六叔叔最近新开发的游戏还有bug,需要多测试。
因为多了一个人,老爹用他的笔记本电脑做演示的时候就显得有些拥挤了,于是将客厅中用来看电影的投影仪拿来用上了,再然后手把手地教小弦子在他自己的笔记本上搭建C开发环境。
一切准备就绪后,课程就开始了。
「因为隔了这么多天,再加上小弦子的加入,所以我先把之前的内容给回顾一遍,有什么问题你们直接问哈。」
于是老爹花了一个多小时的时间就以前的知识回顾了一边,考虑到小弦子还没有写过代码,老爹还带着我们写了几个比较经典的案例,我和小弦子都若有所得。
「好了,在开始我们今天的内容之前,先来看看之前玥玥写的推箱子的程序。」
话音未落,投影仪上已经把我之前写的代码显示出来了。
「这个程序功能已经正常了,照道理来说应该是没有问题。但是……」
听到老爹说出「但是」两个字,我的心脏猛然收缩了一下。
「但是如果我们需要对功能进行扩展,或者是后期的维护就有些不方便了。我知道这么说你们可能觉得难以理解,特别是玥玥心里多半有些不服气。那么我现在用实际的场景来演示给你们看。
咱们首先看控制移动这部分,switch语句对于上下左右按键的逻辑处理部分的代码是不是十分相似?」
经老爹这么一说,我这才发现,原来这部分代码除了移动的方向有所区别外,其他的逻辑几乎完全一样。
「那么听仔细了,如果我们把游戏中人物图片的尺寸由原来的50x50修改为20x20,将会发生什么?」
我瞬间感觉脑瓜子嗡嗡的,看着那一团如乱麻一般的代码,其中至少有数十处用到了图片尺寸参数,我当然可以一处一处的修改,但是得费很大的劲。
「不错,从你们的表情来看,要修改起来是一件比较麻烦的事情,一处一处的修改不是什么问题,问题是要修改的地方太多了,万一漏了怎么办?这种问题还真不好排查!
而且现在的代码量只有这么几十行,那以后你们写的大项目代码可能数万行代码,要是也这么修改的话,我估计能把人给改吐血。」
数万行?听着这个数字我都有些犯晕。
「那这种问题应该怎么办呢?」
老爹抛出了他的疑问。
我和小弦子相互看了对方一眼,然后茫然的看着老爹摇摇头。
「如果我们把这些相似的代码抽离出来,用一个魔法炉子装起来,然后在需要使用这些代码的地方就把炉子放在那儿。当我们需要修改的时候只需要修改炉子里面的内容,使用炉子的地方自然而然的就跟着变化了。如此一来,需要修改的地方始终就只有一处,问题不就解决了那么?」
我和小弦子再次看了对方一眼,脸上都露出了似懂非懂的表情。