飄天文學 > 字節跳動 >第40章 多源驅動
    謙遜基於力量,

    高傲基於無能。</a>

    ……

    舒朗發現了bdk源碼中的bug,還找出來bug的關鍵所在,心奮不已。

    也就是說,只要用到這個api的兼容轉換程序的地方,就一定會存在這個bug隱患。

    但舒朗記得劉琦跟他說過,一般沒人會用多能量源驅動,那樣的程序太複雜,成本太高,風險太大。

    先不說劉琦說的對不對,至少他能代表一大部分人的觀點。也就是說,能用到這個api的人會非常少,而這個bug發生的機率本身又不高,所以這個bug雖然確確實實的存在,但它卻又如同不存在一樣。

    巧合的是,劉昊然給舒朗的極速靴驅動代碼裏面就用到了這個api。

    舒朗爲了求證,特意把極速靴代碼裏的多能量源驅動模塊刷了一遍,結結實實的找到了那個調用兼容轉換程序的代碼行。

    當然,這還不足以證明此bug就是彼bug,唯一能夠證明的辦法,就是把這個bug修復之後,再看看代碼裏面還有沒有bug。

    舒朗把bdk源碼裏的那個sourcepower文件複製了出來,把那個兼容性轉換的方法修改了一下,在異步轉同步的那個地方,把從0計數改成了從1計數。

    修改完畢後,重新編譯成字節文件,替換掉資源包裏那個引用文件。

    先用紅點檢查一下源碼文件,果然沒有發現bug,說明源碼裏的bug修復的非常準確。

    然後將整個極速靴工程重新編譯,這樣剛纔修改過的源碼文件纔會生效。編譯完選中整個極速靴工程,點擊紅點…

    提示:

    shshoes工程發現bug,

    災難級1個,

    是否自動修復?

    ……

    “哦?…竟然不是?”舒朗反而鬆了口氣。

    開始分析一下情況,立刻就覺察到了不對勁。網</a>

    他記得當初發現極速靴代碼bug的時候,非常艱難,必須在各種程序包的組合下,bug纔會出現。

    但如果是因爲源代碼bug的原因,只要引用了對應的方法,就一定會報bug,可是劉昊然的程序沒有。單獨測驗任何一個程序包的時候都沒有。

    這說明了兩個問題:

    第一,整個極速靴的代碼裏面一定還存在另一個bug。

    第二,源碼中的bug被處理掉了,否則單個程序也不可能不報。

    舒朗再次找到那個引用了兼容轉換方法的代碼行,開始分析整塊代碼的實現和調用邏輯。

    ……

    服!大寫的服!

    舒朗看懂了劉昊然的代碼之後,只有這一種感覺。人家在調用那個兼容方法之前,就已經手動屏蔽了源碼中的那個bug!人家是主動在外圍進行計數刷新,根本就不用源碼裏有bug的那套邏輯。

    劉昊然這傢伙簡直不是人!

    竟然連源碼裏的bug都能發現,而且還能自行規避。這已經不能用變態和碼神來形容了,舒朗簡直懷疑,劉昊然不會是也有個帶紅點的eclipse吧?

    想到這,舒朗心裏一慌,真要是這樣,那劉昊然會不會也是從他那個世界穿越來的?

    明天一定要求證一下!

    等他來上課的時候,一定要找個機會看看他的電腦,在找個機會問問他是不是學過java。

    嗯!

    做好了決定,準備睡覺,一看錶,凌晨4點!

    ……

    劉琦把他叫醒的時候,已經是11點半了。

    起牀,上輪椅,洗漱一下。

    舒朗和劉琦一起去外面吃了午餐,喫完又閒逛了一會,卡着點一塊回到他的豪華病房。

    正好趕上和劉昊然一同進屋。網</a>

    高級編程課正式開始!

    按照劉昊然一向的講課風格,在正式講高級課程內容之前,一定要先對這一系列的課程做個概要介紹。

    首先,高級編程課包括7門學科,分別是:

    brave觸感編程,

    機械動能傳導,

    電能損耗優化(原理、配置、調優),

    能量驅動基礎(光能:消耗、存儲、轉移),

    混合能量融合,

    多能量塊驅動。

    這7門課程雖然看起來各不相同,但他們其實都是對基礎api不同組合的封裝與調用。經過多年的積累和發展,各領域分別沉澱出了許多實用可靠的封裝框架。

    直接使用這些框架來寫應用代碼,可以節省不少的開發成本,同時也比自己調用api要可靠的多。因爲這些框架都是被論證過的,被無數人修正和優化過,可以說的上是沒有bug。

    高級課程之間,本質上並沒有必然的先後順序,從哪一門學起都可以。

    劉昊然介紹完了基本情況,問舒朗:“你想先學哪一門課?”

    對舒朗來說,其實先學哪一門都無所謂,反正都是api的組合。但是他有個問題急於想弄清楚,就是那個多能量源驅動的bug到底是怎麼回事。

    於是說:“劉老師,我對《混合能量融合》這門課比較感興趣,要不就先講這一門吧。”

    舒朗說完的時候,劉琦白了他一眼,很顯然,他對這麼課的興趣不大,但也沒說什麼。

    “好。”劉昊然應了一聲,翻出對應的課件,投在電視屏幕上,開始講課。

    “在講《混合能量融合》這門課之前,我想先簡單介紹一下《多能量塊驅動》,這兩門課之間有點關係,避免大家混淆。”

    “多能量塊驅動,顧名思義,就是驅動程序要同時驅動多個能量塊裏面的能量,讓它們一起發揮威力,有的需要串行輸出,有的需要並行調用。”

    “但這裏面還有兩層意思,一是多個能量塊都是同一種類型的能量塊,這叫做單源多驅動;二是多個能量塊屬於不同類型的能量塊,這叫做多源多驅動。”

    “而我們要講的《混合能量融合》這門課,就會設計到多源多驅動的概念。除此之外,還會有多源單驅動,這裏會設計到能量源切換。”

    “所謂多源單驅動,就是說,雖然驅動程序支持多種能量源的調用,但每次只能調用一種,不能同時發揮多種能量源的威力。需要更換能量源的時候,就要用到源能量切換api。這樣的程序設計起來相對多源多驅動的程序要簡單一些。”

    “下面,我就開始學習混合能量相關的api用法吧。”

    ……

    劉昊然一邊講一邊做示範。

    期間舒朗注意到,劉昊然所用的編程工具確實是coward,而不是eclipse。

    但是他仍不死心。

    舒朗緊盯着電視屏幕,同時用餘光掃着劉昊然的臉,想看看他第一眼看到java這字眼時的表情。

    飛鴿傳書,

    接收…

    (◎o◎)

    果然,表情有變!

    舒朗剛要興奮,突然又發現不太對。

    劉昊然的表情是變了,但似乎只是稍微有點詫異,明顯是看到陌生單詞時的反應,完全不像是那種突然被揭發了祕密時的狀態。

    “欸?朗哥,你這個命名有點意思啊?java是什麼東東?”劉琦好奇了問了起來。

    舒朗看了劉琦一眼,又轉過頭看劉昊然,倆人表情幾乎一模一樣,全是問號。

    看來真是自己想多了。

    人家代碼寫的好,完全靠的是自己的真本事。舒朗心裏一邊罵劉昊然是“超級變態碼神上帝”,一邊暗自抱怨:明明可以靠臉喫飯,卻偏偏還要用實力來碾壓我等屌絲,情何以堪!情何以堪啊!

    “朗哥?說話呀?發什麼呆呢?”劉琦打斷練舒朗的思緒。

    “還真有啊!”劉琦早goolge了一下,把那個古老的java咖啡查了出來,滿臉難以置信的說:“老外的鄉村品牌你竟然都知道?我怎麼不知道你知道!”

    “好了,接着上課吧。”劉昊然打斷了劉琦,繼續講後續的課程內容。

    5點半的時候,課就算講完了。

    “課雖然講完了,但是要想真正掌握,還要下不少功夫去練習。看看有沒有問題要問?”劉昊然說。

    當然有問題!

    舒朗早就憋着呢:“劉老師,我想問個問題。”

    “說。”

    “如果多源驅動程序中,有bug,會怎麼樣?”舒朗問。

    沒等劉昊然回答,一旁劉琦搶話:“朗哥你是不是秀逗了?有bug就是有bug唄,程序無法正常運轉唄,還能怎麼樣?”

    “錯!”劉昊然肅然糾正,道:“別的代碼有bug,也許只是無法正常運轉,但是,如果能量源的驅動代碼如果有bug,那很有可能就是災難!千萬、千萬、千萬,不要在能量源驅動這裏犯錯。”

    劉昊然最後這幾個“千萬”說的非常嚴肅,絕非嚇唬人。

    舒朗聽到這,聯想起極速靴裏那個“災難級”bug,內心惶恐,不禁又問:“如果極速靴的能量源驅動有bug,會帶來怎樣的災難?”

    劉昊然聽出了舒朗若有所指,直言道:“如果極速靴的能量源驅動有bug,輕則設備損毀報廢,重則連穿戴者的腳一起報廢!”


章節報錯(免登陸)