谦逊基于力量,
高傲基于无能。
……
舒朗发现了bdk源码中的bug,还找出来bug的关键所在,心奋不已。
也就是说,只要用到这个api的兼容转换程序的地方,就一定会存在这个bug隐患。
但舒朗记得刘琦跟他说过,一般没人会用多能量源驱动,那样的程序太复杂,成本太高,风险太大。
先不说刘琦说的对不对,至少他能代表一大部分人的观点。也就是说,能用到这个api的人会非常少,而这个bug发生的几率本身又不高,所以这个bug虽然确确实实的存在,但它却又如同不存在一样。
巧合的是,刘昊然给舒朗的极速靴驱动代码里面就用到了这个api。
舒朗为了求证,特意把极速靴代码里的多能量源驱动模块刷了一遍,结结实实的找到了那个调用兼容转换程序的代码行。
当然,这还不足以证明此bug就是彼bug,唯一能够证明的办法,就是把这个bug修复之后,再看看代码里面还有没有bug。
舒朗把bdk源码里的那个sourcepower文件复制了出来,把那个兼容性转换的方法修改了一下,在异步转同步的那个地方,把从0计数改成了从1计数。
修改完毕后,重新编译成字节文件,替换掉资源包里那个引用文件。
先用红点检查一下源码文件,果然没有发现bug,说明源码里的bug修复的非常准确。
然后将整个极速靴工程重新编译,这样刚才修改过的源码文件才会生效。编译完选中整个极速靴工程,点击红点…
提示:
flashshoes工程发现bug,
灾难级 1个,
是否自动修复?
……
“哦?…竟然不是?”舒朗反而松了口气。
开始分析一下情况,立刻就觉察到了不对劲。
他记得当初发现极速靴代码bug的时候,非常艰难,必须在各种程序包的组合下,bug才会出现。
但如果是因为源代码bug的原因,只要引用了对应的方法,就一定会报bug,可是刘昊然的程序没有。单独测验任何一个程序包的时候都没有。
这说明了两个问题:
第一,整个极速靴的代码里面一定还存在另一个bug。
第二,源码中的bug被处理掉了,否则单个程序也不可能不报。
舒朗再次找到那个引用了兼容转换方法的代码行,开始分析整块代码的实现和调用逻辑。
……
服!大写的服!
舒朗看懂了刘昊然的代码之后,只有这一种感觉。人家在调用那个兼容方法之前,就已经手动屏蔽了源码中的那个bug!人家是主动在外围进行计数刷新,根本就不用源码里有bug的那套逻辑。
刘昊然这家伙简直不是人!
竟然连源码里的bug都能发现,而且还能自行规避。这已经不能用变态和码神来形容了,舒朗简直怀疑,刘昊然不会是也有个带红点的eclipse吧?
想到这,舒朗心里一慌,真要是这样,那刘昊然会不会也是从他那个世界穿越来的?
明天一定要求证一下!
等他来上课的时候,一定要找个机会看看他的电脑,在找个机会问问他是不是学过java。
嗯!
做好了决定,准备睡觉,一看表,凌晨4点!
……
刘琦把他叫醒的时候,已经是11点半了。
起床,上轮椅,洗漱一下。
舒朗和刘琦一起去外面吃了午餐,吃完又闲逛了一会,卡着点一块回到他的豪华病房。
正好赶上和刘昊然一同进屋。
高级编程课正式开始!
按照刘昊然一向的讲课风格,在正式讲高级课程内容之前,一定要先对这一系列的课程做个概要介绍。
首先,高级编程课包括7门学科,分别是:
brave 能量结构,
brave 触感编程,
机械动能传导,
电能损耗优化(原理、配置、调优),
能量驱动基础(光能:消耗、存储、转移),
混合能量融合,
多能量块驱动。
这7门课程虽然看起来各不相同,但他们其实都是对基础api不同组合的封装与调用。经过多年的积累和发展,各领域分别沉淀出了许多实用可靠的封装框架。
直接使用这些框架来写应用代码,可以节省不少的开发成本,同时也比自己调用api要可靠的多。因为这些框架都是被论证过的,被无数人修正和优化过,可以说的上是没有bug。
高级课程之间,本质上并没有必然的先后顺序,从哪一门学起都可以。
刘昊然介绍完了基本情况,问舒朗:“你想先学哪一门课?”
对舒朗来说,其实先学哪一门都无所谓,反正都是api的组合。但是他有个问题急于想弄清楚,就是那个多能量源驱动的bug到底是怎么回事。
于是说:“刘老师,我对《混合能量融合》这门课比较感兴趣,要不就先讲这一门吧。”
舒朗说完的时候,刘琦白了他一眼,很显然,他对这么课的兴趣不大,但也没说什么。
“好。”刘昊然应了一声,翻出对应的课件,投在电视屏幕上,开始讲课。
“在讲《混合能量融合》这门课之前,我想先简单介绍一下《多能量块驱动》,这两门课之间有点关系,避免大家混淆。”
“多能量块驱动,顾名思义,就是驱动程序要同时驱动多个能量块里面的能量,让它们一起发挥威力,有的需要串行输出,有的需要并行调用。”
“但这里面还有两层意思,一是多个能量块都是同一种类型的能量块,这叫做单源多驱动;二是多个能量块属于不同类型的能量块,这叫做多源多驱动。”
“而我们要讲的《混合能量融合》这门课,就会设计到多源多驱动的概念。除此之外,还会有多源单驱动,这里会设计到能量源切换。”
“所谓多源单驱动,就是说,虽然驱动程序支持多种能量源的调用,但每次只能调用一种,不能同时发挥多种能量源的威力。需要更换能量源的时候,就要用到源能量切换api。这样的程序设计起来相对多源多驱动的程序要简单一些。”
“下面,我就开始学习混合能量相关的api用法吧。”
……
刘昊然一边讲一边做示范。
期间舒朗注意到,刘昊然所用的编程工具确实是coward,而不是eclipse。
但是他仍不死心。
在刘昊然让他们写练习代码的时候,舒朗故意把他的代码文件命名为,飞鸽传书飞到刘昊然那里。
舒朗紧盯着电视屏幕,同时用余光扫着刘昊然的脸,想看看他第一眼看到java这字眼时的表情。
飞鸽传书,
接收…
(◎o◎)
果然,表情有变!
舒朗刚要兴奋,突然又发现不太对。
刘昊然的表情是变了,但似乎只是稍微有点诧异,明显是看到陌生单词时的反应,完全不像是那种突然被揭发了秘密时的状态。
“?朗哥,你这个命名有点意思啊?java是什么东东?”刘琦好奇了问了起来。
舒朗看了刘琦一眼,又转过头看刘昊然,俩人表情几乎一模一样,全是问号。
看来真是自己想多了。
人家代码写的好,完全靠的是自己的真本事。舒朗心里一边骂刘昊然是“超级变态码神上帝”,一边暗自抱怨:明明可以靠脸吃饭,却偏偏还要用实力来碾压我等丝,情何以堪!情何以堪啊!
“朗哥?说话呀?发什么呆呢?”刘琦打断练舒朗的思绪。
“啊…啊?哦……那个java…其实……其实…是个咖啡品牌。对!咖啡!”舒朗说的心理发慌,不知道原本对应的那个咖啡品牌到底有没有,他怀疑,这个世界的那个咖啡品牌是不是也叫brave!
“还真有啊!”刘琦早goolge了一下,把那个古老的java咖啡查了出来,满脸难以置信的说:“老外的乡村品牌你竟然都知道?我怎么不知道你知道!”
“好了,接着上课吧。”刘昊然打断了刘琦,继续讲后续的课程内容。
5点半的时候,课就算讲完了。
“课虽然讲完了,但是要想真正掌握,还要下不少功夫去练习。看看有没有问题要问?”刘昊然说。
当然有问题!
舒朗早就憋着呢:“刘老师,我想问个问题。”
“说。”
“如果多源驱动程序中,有bug,会怎么样?”舒朗问。
没等刘昊然回答,一旁刘琦抢话:“朗哥你是不是秀逗了?有bug就是有bug呗,程序无法正常运转呗,还能怎么样?”
“错!”刘昊然肃然纠正,道:“别的代码有bug,也许只是无法正常运转,但是,如果能量源的驱动代码如果有bug,那很有可能就是灾难!千万、千万、千万,不要在能量源驱动这里犯错。”
刘昊然最后这几个“千万”说的非常严肃,绝非吓唬人。
舒朗听到这,联想起极速靴里那个“灾难级”bug,内心惶恐,不禁又问:“如果极速靴的能量源驱动有bug,会带来怎样的灾难?”
刘昊然听出了舒朗若有所指,直言道:“如果极速靴的能量源驱动有bug,轻则设备损毁报废,重则连穿戴者的脚一起报废!”