第三十四章 辭職前

投票推薦 加入書籤 小說報錯

  所以在提交懸賞之後,葉新晨就再一次的趕緊睡覺了。

  當然,隨之而來的就是葉新晨的存款再一次的增加了十個達不溜。

  而另一邊,S市,羽然科技公司。

  錢志海就利用這個功能,便通知相關項目組,讓他們在自己的項目開頭import DebugTools。

  剛好有個測試任務。

  所以沒一會兒,他們就排查到了因為這個功能而意外收穫的另外一個輔助庫的BUG。

  錢志海等幾人大眼瞪小眼。

  尤其是李明,用目瞪口呆都不為過,「這個功能怎麼像個利器一樣啊,我們沒有找他,他都額外的給我們發現了輔助庫另外的漏洞。」

  錢志海也是心中一動,他非常的想把這個葉子給拉到他們的公司來,這妥妥的都是大公司精英級別的程式設計師啊!

  他們這個小公司雖然發展的也還行,但是也僅僅是還行罷了,如果能夠讓葉子加入他們,錢志海相信他們的公司絕對能夠再創一個新高!

  但是……

  像葉子這樣的大神,工資肯定是很高的,就比如那些大公司裡面的精英程式設計師,十萬都是保底,而且還有獎金分紅,而他錢志海能拿出什麼來籠絡葉子大神呢?

  不說其他的,就光一個月薪十萬,錢志海就拿不出手,也不是說出不起,只是公司還有其他方方面面也要打點,這十萬一拿,他們的現金流就更加的不便了。

  所以,想要邀請葉子大神,錢志海也就只能在心裏面想一想,不過他還是看了一眼自己的這幾個骨幹程式設計師,「天外有天,人外有人,我們還需要努力啊。不過現在既然發現了這個BUG,那就趕緊給它解決吧。」

  幾個人頓時開始來修復漏洞,首先拿到調用棧信息之後,一會兒時間就很容易的追查到了根源。

  錢志海一行人看著這個,都是有些面面相覷。

  「怎麼是這個……」

  這是當年羽然科技公司實現時的疏忽:在某個函數中,他們聲明了一個局部變量,這個變量和同一命名空間的另一個變量名字極為相似,但命名風格(首字母是否大寫之類)和其他代碼不太一致。

  當時他們是為了規避不同作用域的命名衝突才這樣命名的。

  但到了後面,他們仍然習慣性的用了「正常」的命名,也可能是選錯了編輯器自動提示選項。

  這就相當於丟開局部變量,用了命名空間的外部變量;但從上下文看,這裡就不應該碰外部那個同名變量。

  用偽碼表示大概是這樣:

  class OneClass {

  packageNameItems = null;

  ....

  void funName1(arg){

  //initial packageNameItems

  packageNameItems = arg;

  //other...

  }

  string funName2(){

  PackageNameItems = extractPureInfo(packageNameItems);

  //do sth

  ....

  result = getItemFrom(packageNameItems, itemName)//1

  //do sth

  ....

  return result

  }

  }

  從那裡分析,在//1處,本應該是從已經解包過的PackageNameItems中,取它的第N項;但這裡誤傳入了解包前的packageNameItems。

  似乎輸入文本可能會發生幾種情況,當然多數情況不需要進一步處理,直接用外部那個變量就行,此時兩個變量內容一致,不會觸發bug;但少數情況下,外部那個變量需要進一步處理,這才能提取到正確的內容。

  這種情況下,兩個變量內容不同,誤用了前一個變量就讀不到正確數據了。

  這是個極為隱蔽的邏輯錯誤。

  其實和變量作用域相關的故障都很隱蔽。

  李明拿著整個調用鏈的詳細記錄,也是看了好幾遍才發覺這兩個變量的名字似乎有些意思,這才沿著這條線追查下去……

  總之,意外的輸出信息弄得他們一臉懵逼,因為這時候根本就不應該有這種信息,也幸好檢查條件設的比較窄,只有正常返回可通過,其他一概拋異常崩掉——於是這個異常就被葉新晨的debug工具抓到,自動記錄了調用棧信息。

  所以說為什麼之前錢志海等幾人會驚訝,因為這個功能給他們抓到了一個BUG。

  還好這是個極為簡單的bug,只需把最後那次訪問時,首字符小寫的變量名改成大寫,故障就不再復發。

  其實就這麼簡單個首字符大小寫搞錯、誤訪問了外部變量的BUG,羽然科技公司在黑土平台上的懸賞單也是掛了有兩三年了,前前後後換了很多人經手,但就是沒人能抓到它。

  最終,這個簡單又奇葩的bug竟然被葉子大神的一個功能給抓住了。

  不得不說這真的是意外之喜。

  「真想見識見識葉子這樣的大神是什麼樣的……」

  ………

  八月三十一號。

  這也是這個月的最後一天,葉新晨在公司之後,他今天沒有像以往那樣給自己的組員開會,他直接的就去往了主管自己的主管辦公室裡面。

  他的主管是正是他的上一任組長張國強,所以他們之間的關係還算比較融洽,畢竟當時的葉新晨在他們組裡可是業績排名前三的,自然不會受到張國強的批評之類的。

  「你要辭職?」張國強看著今天一大早就來跟他說今天要辭職的葉新晨,也是頭疼的拍了拍自己的腦袋,「辭職都得提前最起碼半個月啊,你這也太突然了吧?」

  「張哥,我下個月就要回老家結婚了,而且女方家在C市,到時候我要兩頭跑,請假半個月都是打底的啊。」葉新晨一臉真誠的說道,「大概率都可能會請一個月假。」

  「一個月……」張國強也是皺了皺眉頭,「一個月公司肯定不會批下來的,哪怕半個月都不會給你批,時間太久了。而且,為什麼要這麼急著結婚呢?可以往後延一個月啊,這樣子我就可以正常的給你打報告上去了。」

  「哎,為什麼這麼急,我也不想的啊,主要那不是因為女朋友已經有了嗎……」

  張國強愣了一下,然後半晌道,「那恭喜啊。」

  葉新晨則是看著張國強,苦笑著道,「哎,所以我才來先找張哥,畢竟結婚後也肯定需要錢,我要是一聲不吭的離職,下個月恐怕發下來的工資只有一半。」

  「嗯,公司的確會這樣。」張國強最後看了一眼葉新晨,嘆了口氣,然後拿出一張紙,「行吧,你就正常的寫一份報告好了,也是你正好趕上公司要提拔主管和組長,到時候我再說我忘了有你的辭職報告沒打上去,你今天應該可以正常離職。」

  「那謝謝張哥。」

章節目錄