奋斗中文网 > 字节跳动 > 第40章 多源驱动

第40章 多源驱动

推荐阅读:风起龙城主神崛起全职法师异界直播间诛天战帝末世浮生闲妻不淑点满力量的我绝不会无用武之地最强男神(网游)精灵王的王妃

一秒记住【奋斗中文网 www.fddzw.com】,精彩小说无弹窗免费阅读!

    谦逊基于力量,

    高傲基于无能。

    ……

    舒朗发现了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,轻则设备损毁报废,重则连穿戴者的脚一起报废!”