所以在提交悬赏之后,叶新晨就再一次的赶紧睡觉了。
当然,随之而来的就是叶新晨的存款再一次的增加了十个达不溜。
而另一边,S市,羽然科技公司。
钱志海就利用这个功能,便通知相关项目组,让他们在自己的项目开头impTools。
刚好有个测试任务。
所以没一会儿,他们就排查到了因为这个功能而意外收获的另外一个辅助库的BUG。
钱志海等几人大眼瞪小眼。
尤其是李明,用目瞪口呆都不为过,“这个功能怎么像个利器一样啊,我们没有找他,他都额外的给我们发现了辅助库另外的漏洞。”
钱志海也是心中一动,他非常的想把这个叶子给拉到他们的公司来,这妥妥的都是大公司精英级别的程序员啊!
他们这个小公司虽然发展的也还行,但是也仅仅是还行罢了,如果能够让叶子加入他们,钱志海相信他们的公司绝对能够再创一个新高!
但是……
像叶子这样的大神,工资肯定是很高的,就比如那些大公司里面的精英程序员,十万都是保底,而且还有奖金分红,而他钱志海能拿出什么来笼络叶子大神呢?
不说其他的,就光一个月薪十万,钱志海就拿不出手,也不是说出不起,只是公司还有其他方方面面也要打点,这十万一拿,他们的现金流就更加的不便了。
所以,想要邀请叶子大神,钱志海也就只能在心里面想一想,不过他还是看了一眼自己的这几个骨干程序员,“天外有天,人外有人,我们还需要努力啊。不过现在既然发现了这个BUG,那就赶紧给它解决吧。”
几个人顿时开始来修复漏洞,首先拿到调用栈信息之后,一会儿时间就很容易的追查到了根源。
钱志海一行人看着这个,都是有些面面相觑。
“怎么是这个……”
这是当年羽然科技公司实现时的疏忽:在某个函数中,他们声明了一个局部变量,这个变量和同一命名空间的另一个变量名字极为相似,但命名风格(首字母是否大写之类)和其他代码不太一致。
当时他们是为了规避不同作用域的命名冲突才这样命名的。
但到了后面,他们仍然习惯性的用了“正常”的命名,也可能是选错了编辑器自动提示选项。
这就相当于丢开局部变量,用了命名空间的外部变量;但从上下文看,这里就不应该碰外部那个同名变量。
用伪码表示大概是这样:
eClass {
paameItems = null;
....
void funName1(arg){
//initial paameItems
paameItems = arg;
//other...
}
string funName2(){
PaameItems = extrafo(paameItems);
//do sth
....
& = getItemFrom(paameItems, itemName)//1
//do sth
....
&ur
}
}
从那里分析,在//1处,本应该是从已经解包过的PaameItems中,取它的第N项;但这里误传入了解包前的paameItems。
似乎输入文本可能会发生几种情况,当然多数情况不需要进一步处理,直接用外部那个变量就行,此时两个变量内容一致,不会触发bug;但少数情况下,外部那个变量需要进一步处理,这才能提取到正确的内容。
这种情况下,两个变量内容不同,误用了前一个变量就读不到正确数据了。
这是个极为隐蔽的逻辑错误。
其实和变量作用域相关的故障都很隐蔽。
李明拿着整个调用链的详细记录,也是看了好几遍才发觉这两个变量的名字似乎有些意思,这才沿着这条线追查下去……
总之,意外的输出信息弄得他们一脸懵逼,因为这时候根本就不应该有这种信息,也幸好检查条件设的比较窄,只有正常返回可通过,其他一概抛异常崩掉——于是这个异常就被叶新晨的debug工具抓到,自动记录了调用栈信息。
所以说为什么之前钱志海等几人会惊讶,因为这个功能给他们抓到了一个BUG。
还好这是个极为简单的bug,只需把最后那次访问时,首字符小写的变量名改成大写,故障就不再复发。
其实就这么简单个首字符大小写搞错、误访问了外部变量的BUG,羽然科技公司在黑土平台上的悬赏单也是挂了有两三年了,前前后后换了很多人经手,但就是没人能抓到它。
最终,这个简单又奇葩的bug竟然被叶子大神的一个功能给抓住了。
不得不说这真的是意外之喜。
“真想见识见识叶子这样的大神是什么样的……”
………
八月三十一号。
这也是这个月的最后一天,叶新晨在公司之后,他今天没有像以往那样给自己的组员开会,他直接的就去往了主管自己的主管办公室里面。
他的主管是正是他的上一任组长张国强,所以他们之间的关系还算比较融洽,毕竟当时的叶新晨在他们组里可是业绩排名前三的,自然不会受到张国强的批评之类的。
“你要辞职?”张国强看着今天一大早就来跟他说今天要辞职的叶新晨,也是头疼的拍了拍自己的脑袋,“辞职都得提前最起码半个月啊,你这也太突然了吧?”
“张哥,我下个月就要回老家结婚了,而且女方家在C市,到时候我要两头跑,请假半个月都是打底的啊。”叶新晨一脸真诚的说道,“大概率都可能会请一个月假。”
“一个月……”张国强也是皱了皱眉头,“一个月公司肯定不会批下来的,哪怕半个月都不会给你批,时间太久了。而且,为什么要这么急着结婚呢?可以往后延一个月啊,这样子我就可以正常的给你打报告上去了。”
“哎,为什么这么急,我也不想的啊,主要那不是因为女朋友已经有了吗……”
张国强愣了一下,然后半晌道,“那恭喜啊。”
叶新晨则是看着张国强,苦笑着道,“哎,所以我才来先找张哥,毕竟结婚后也肯定需要钱,我要是一声不吭的离职,下个月恐怕发下来的工资只有一半。”
“嗯,公司的确会这样。”张国强最后看了一眼叶新晨,叹了口气,然后拿出一张纸,“行吧,你就正常的写一份报告好了,也是你正好赶上公司要提拔主管和组长,到时候我再说我忘了有你的辞职报告没打上去,你今天应该可以正常离职。”
“那谢谢张哥。”