花花小君 作品

第42章 修復bug

    晚上。

    已經和王曉雪收拾好了明天需要帶回家的東西之後,葉新晨就打開了曹慶陽發給他的東西。

    趁著現在時間還足,所以葉新晨也是準備直接花費一點時間幫曹慶陽給搞定。

    打開文件,葉新晨看著這個代碼,陷入了沉思,他陷入沉思的原因不是因為這個修復漏洞很難,相反,很簡單,葉新晨半個多小時就給他修復好了。

    他感覺到的只是修改bug和找bug那真的是兩個情況。

    不過有些人也肯定很疑惑,程出現bug是必然出現的情況還是程序員水平有限導致的?

    這個嘛……仁者見仁,智者見智。

    就比如這個——

    print(“hello,world.“)

    你看,這個“程序”就是沒有bug漏洞的……

    實際上但凡有過一點正式開發經驗的程序員,寫個簡單的helloworld都能寫出bug的恐怕不多見吧。

    別說helloworld了,一個簡單的、不涉及“隱秘”機制的百行小程序,絕大多數資深程序員也可以直接寫成0bug。

    因為這些實際上是對計算機的原理深度決定的,比如你對計算原理或者語言機制理解越深,對你來說“隱秘”的東西就越少,寫出高質量代碼的機率就越高。

    而且,就像黑土平臺裡面的交流板塊哪怕只是在上敲一篇一千個字的灌水文,有幾個可以保證無語法錯誤、無錯別字且標點符號使用正確呢?

    尤其這還是在機器替你寫字,使得“提筆忘字”“書寫錯誤”之類錯誤無法存在的前提下:這樣你都不能保證全對……

    那麼不僅大小寫敏感、而且邏輯更為曲折複雜、容不得半點含糊的計算機程序呢?

    因此,有bug漏洞那真的是無可避免。

    當然還有一種情況,你的程序本身是無bug的;但支持環境比較坑……

    這種正常來說不算程序bug,當然實踐中,你可能沒辦法坐等os或者瀏覽器等廠商修改——所以結果就是你只好積極行動起來,在自己的程序裡為別人的錯誤擦屁股……

    這在業界被稱為workaround:workaround-wikipedia。

    正常來說,workaround是臨時的,並且,如果不是諸如0day之類特別關鍵、刻不容緩的問題,搞workaround往往是出力不討好的——因為它包含了醜陋,易錯,含糊,難以理解;而且等os或者瀏覽器等的原始廠商修了它自己的bug,你原本好好運行的workaround往往反而會引起問題。