第34章 辭職前
所以在提交懸賞之後,葉新晨就再一次的趕緊睡覺了。
當然,隨之而來的就是葉新晨的存款再一次的增加了十個達不溜。
而另一邊,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市,到時候我要兩頭跑,請假半個月都是打底的啊。”葉新晨一臉真誠的說道,“大概率都可能會請一個月假。”
“一個月……”張國強也是皺了皺眉頭,“一個月公司肯定不會批下來的,哪怕半個月都不會給你批,時間太久了。而且,為什麽要這麽急著結婚呢?可以往後延一個月啊,這樣子我就可以正常的給你打報告上去了。”
“哎,為什麽這麽急,我也不想的啊,主要那不是因為女朋友已經有了嗎……”
張國強愣了一下,然後半晌道,“那恭喜啊。”
葉新晨則是看著張國強,苦笑著道,“哎,所以我才來先找張哥,畢竟結婚後也肯定需要錢,我要是一聲不吭的離職,下個月恐怕發下來的工資隻有一半。”
“嗯,公司的確會這樣。”張國強最後看了一眼葉新晨,歎了口氣,然後拿出一張紙,“行吧,你就正常的寫一份報告好了,也是你正好趕上公司要提拔主管和組長,到時候我再說我忘了有你的辭職報告沒打上去,你今天應該可以正常離職。”
“那謝謝張哥。”