第350章 艾瑞克的提案
他把方案放下,靠進椅背里。腦子裡過了一遍艾瑞克剛才說的話,「把幾個核心模塊拆開」,「不同團隊獨立維護」,「效率能高不少」。
是,這樣效率確實能高。但這樣也意味著,核心代碼不再由他一個人掌控。拆開之後,每個團隊只知道自己負責的那一塊,沒人能看到全貌。
凌雲把方案又拿起來,翻到模塊拆分那一頁,他看了很久。
然後他拿起電話,打給李默。凌雲能夠度假,全靠著李默在矽谷盯著了。作為星辰的代碼審查官,他和凌雲的權限一樣,是最高的,艾瑞克都沒有李默高。
「李默,你過來我辦公室一趟。」
很快,李默推門進來。「凌總。」李默在對面坐下。
凌雲把那沓方案推過去,「看看這個。」
李默接過來,開始翻。他看得很快,十幾分鐘就看完了,然後把方案放下。
「誰寫的?」
「艾瑞克。」
李默沉默了幾秒。
「你覺得有問題?」凌雲問。
李默想了想,「這方案本身沒問題。寫得挺好,邏輯也對。但是……」
「但是什麼?」
「但是他把內存管理那塊拆得太碎了。」李默指著其中一頁,「你看這兒,本來是一個模塊,他拆成三個。這三個模塊之間通信會很頻繁,性能肯定會下降。如果不考慮性能,那這麼做的好處只有一個——每個模塊只知道自己那部分,代碼泄露的機會會減少。」
凌雲看著他,「換句話說,掌握每一個模塊的人,對這一個模塊有絕對的掌控,添加或者刪減代碼,不易被別人發現?你查一下他過去一年的代碼提交記錄。」
李默站起來,「我現在就去。」
已經凌晨兩點了,凌雲還坐在辦公室里。燈只開了書桌上那一盞,其他地方都是黑的。
李默推門進來。他手裡拿著一沓列印紙,臉色不太好。
「查到什麼了嗎?」
李默走過來,把那沓紙放在桌上,「我把他過去一年的提交記錄全過了一遍。」李默的聲音有點啞,可能是熬夜熬的,「三個月前開始有了異常。」
凌雲拿起那沓紙,最上面是一份代碼片段,兩邊列印在一起,左邊是舊的,右邊是新的。
「你看這個。」李默指著右邊那一段,「這是上個月他提交的,內存管理模塊的優化代碼。你再看左邊,這是他去年寫的同一塊。」
凌雲仔細看,左邊的代碼注釋很簡單,「分配內存」,「釋放內存」,「返回指針」。右邊的代碼注釋更詳細,但風格不一樣。左邊的注釋是「//allocate」,右邊的注釋是「/* allocate memory block */」。
「你發現沒?」李默說,「他以前的注釋都是簡寫,怎麼簡單怎麼來。但最近這幾個月的,變得特別規範,跟寫教科書似的。」
凌雲翻到下一頁,又是一個模塊,網絡協議棧的部分。左邊注釋是「// send data」,右邊注釋是「/* send data via TCP socket */」。
再翻一頁,文件系統,左邊「//read file」,右邊「/* read file in read mode*/」。
「風格全變了。」李默說,「而且不是慢慢變的,是一下子變的。三個月前,突然就變成這樣了。」
凌雲翻到最後一頁。這一頁沒有代碼,是兩段算法邏輯的對比。左邊是艾瑞克以前寫的,右邊是他最近寫的。
「這個最麻煩。」李默指著右邊那段,「你看這個排序算法的優化思路,跟我們以前的不一樣。我一開始覺得是他自己想出來的,但後來覺得眼熟。」
「眼熟?」
「嗯。」李默從口袋裡掏出一張折起來的紙,展開,放在桌上,「我查了一下,這是微軟1998年申請的一個專利,跟這個算法邏輯一模一樣。」
紙上列印的是美國專利局的公開文件,專利號US5432849,摘要部分用螢光筆劃了出來。
凌雲拿起來,對著那頁代碼看。專利上寫的優化思路,跟艾瑞克代碼里的,確實一樣。不是相似,是一樣,參數命名都一樣。
他把專利放下,把代碼放下。李默站在旁邊,也沒動。
過了很久,凌雲開口,「除了你,還有誰知道?」
「沒別人了,我自己登陸代碼庫,查詢的艾瑞克的提交記錄。」
「這事爛肚子裡,現在還不能讓別人知道。」
李默看著他,「凌總……」
「我知道,我先考慮一下後續怎麼辦。」
李默沒再說話。他站了幾秒,轉身走了。門關上的聲音很輕。
凌雲一個人坐在那裡,他拿起那份方案,又放下。拿起那些代碼,又放下。拿起那張專利,看了很久。
然後他把所有東西疊在一起,塞進抽屜最下面,鎖上。
他站起來,走到窗邊。看著遠處高速公路上的車燈,紅的黃的,流過來流過去。
他想起1997年3月,第一次見艾瑞克那天。艾瑞克穿著那件洗得發白的格子襯衫,頭髮有點亂,眼鏡片反著光。他說,「凌,我那公司三個月沒發工資了。」
他想起1998年2月,凌晨兩點,兩個人改代碼改到崩潰,靠在椅子上盯著天花板。艾瑞克突然坐起來說,「我知道了。」然後敲了一通代碼,回車,屏幕上跳出綠色的「Success」。
他想起1999年5月,上市前夜,所有人加班。第二天他才知道,那天是艾瑞克女兒生日,他壓根沒回家。
凌雲站在窗邊,看著天邊慢慢亮起來。他深深吸了一口煙,把菸頭摁死在菸灰缸里。
雖然不願意相信,但是證據越來越多,凌雲還是決定採取措施,雖然有備胎計劃,但那是防守的手段,來而不去非禮也,凌雲也準備採取些手段,不能讓他們這麼肆無忌憚的算計自己。
凌雲開始準備一份郵件,安排艾瑞克去上海星辰研究院,指導研究院組織建設。
是,這樣效率確實能高。但這樣也意味著,核心代碼不再由他一個人掌控。拆開之後,每個團隊只知道自己負責的那一塊,沒人能看到全貌。
凌雲把方案又拿起來,翻到模塊拆分那一頁,他看了很久。
然後他拿起電話,打給李默。凌雲能夠度假,全靠著李默在矽谷盯著了。作為星辰的代碼審查官,他和凌雲的權限一樣,是最高的,艾瑞克都沒有李默高。
「李默,你過來我辦公室一趟。」
很快,李默推門進來。「凌總。」李默在對面坐下。
凌雲把那沓方案推過去,「看看這個。」
李默接過來,開始翻。他看得很快,十幾分鐘就看完了,然後把方案放下。
「誰寫的?」
「艾瑞克。」
李默沉默了幾秒。
「你覺得有問題?」凌雲問。
李默想了想,「這方案本身沒問題。寫得挺好,邏輯也對。但是……」
「但是什麼?」
「但是他把內存管理那塊拆得太碎了。」李默指著其中一頁,「你看這兒,本來是一個模塊,他拆成三個。這三個模塊之間通信會很頻繁,性能肯定會下降。如果不考慮性能,那這麼做的好處只有一個——每個模塊只知道自己那部分,代碼泄露的機會會減少。」
凌雲看著他,「換句話說,掌握每一個模塊的人,對這一個模塊有絕對的掌控,添加或者刪減代碼,不易被別人發現?你查一下他過去一年的代碼提交記錄。」
李默站起來,「我現在就去。」
已經凌晨兩點了,凌雲還坐在辦公室里。燈只開了書桌上那一盞,其他地方都是黑的。
李默推門進來。他手裡拿著一沓列印紙,臉色不太好。
「查到什麼了嗎?」
李默走過來,把那沓紙放在桌上,「我把他過去一年的提交記錄全過了一遍。」李默的聲音有點啞,可能是熬夜熬的,「三個月前開始有了異常。」
凌雲拿起那沓紙,最上面是一份代碼片段,兩邊列印在一起,左邊是舊的,右邊是新的。
「你看這個。」李默指著右邊那一段,「這是上個月他提交的,內存管理模塊的優化代碼。你再看左邊,這是他去年寫的同一塊。」
凌雲仔細看,左邊的代碼注釋很簡單,「分配內存」,「釋放內存」,「返回指針」。右邊的代碼注釋更詳細,但風格不一樣。左邊的注釋是「//allocate」,右邊的注釋是「/* allocate memory block */」。
「你發現沒?」李默說,「他以前的注釋都是簡寫,怎麼簡單怎麼來。但最近這幾個月的,變得特別規範,跟寫教科書似的。」
凌雲翻到下一頁,又是一個模塊,網絡協議棧的部分。左邊注釋是「// send data」,右邊注釋是「/* send data via TCP socket */」。
再翻一頁,文件系統,左邊「//read file」,右邊「/* read file in read mode*/」。
「風格全變了。」李默說,「而且不是慢慢變的,是一下子變的。三個月前,突然就變成這樣了。」
凌雲翻到最後一頁。這一頁沒有代碼,是兩段算法邏輯的對比。左邊是艾瑞克以前寫的,右邊是他最近寫的。
「這個最麻煩。」李默指著右邊那段,「你看這個排序算法的優化思路,跟我們以前的不一樣。我一開始覺得是他自己想出來的,但後來覺得眼熟。」
「眼熟?」
「嗯。」李默從口袋裡掏出一張折起來的紙,展開,放在桌上,「我查了一下,這是微軟1998年申請的一個專利,跟這個算法邏輯一模一樣。」
紙上列印的是美國專利局的公開文件,專利號US5432849,摘要部分用螢光筆劃了出來。
凌雲拿起來,對著那頁代碼看。專利上寫的優化思路,跟艾瑞克代碼里的,確實一樣。不是相似,是一樣,參數命名都一樣。
他把專利放下,把代碼放下。李默站在旁邊,也沒動。
過了很久,凌雲開口,「除了你,還有誰知道?」
「沒別人了,我自己登陸代碼庫,查詢的艾瑞克的提交記錄。」
「這事爛肚子裡,現在還不能讓別人知道。」
李默看著他,「凌總……」
「我知道,我先考慮一下後續怎麼辦。」
李默沒再說話。他站了幾秒,轉身走了。門關上的聲音很輕。
凌雲一個人坐在那裡,他拿起那份方案,又放下。拿起那些代碼,又放下。拿起那張專利,看了很久。
然後他把所有東西疊在一起,塞進抽屜最下面,鎖上。
他站起來,走到窗邊。看著遠處高速公路上的車燈,紅的黃的,流過來流過去。
他想起1997年3月,第一次見艾瑞克那天。艾瑞克穿著那件洗得發白的格子襯衫,頭髮有點亂,眼鏡片反著光。他說,「凌,我那公司三個月沒發工資了。」
他想起1998年2月,凌晨兩點,兩個人改代碼改到崩潰,靠在椅子上盯著天花板。艾瑞克突然坐起來說,「我知道了。」然後敲了一通代碼,回車,屏幕上跳出綠色的「Success」。
他想起1999年5月,上市前夜,所有人加班。第二天他才知道,那天是艾瑞克女兒生日,他壓根沒回家。
凌雲站在窗邊,看著天邊慢慢亮起來。他深深吸了一口煙,把菸頭摁死在菸灰缸里。
雖然不願意相信,但是證據越來越多,凌雲還是決定採取措施,雖然有備胎計劃,但那是防守的手段,來而不去非禮也,凌雲也準備採取些手段,不能讓他們這麼肆無忌憚的算計自己。
凌雲開始準備一份郵件,安排艾瑞克去上海星辰研究院,指導研究院組織建設。