第534章 第75頁!
晚上十一點四十,微光總部只剩一盞燈。
調試間的燈。
方遠坐在工位上,面前三塊屏幕。
左邊是v3.0的設計文檔,中間是代碼編輯器,右邊是數據結構的可視化面板。
他已經坐了四個小時了。
桌上的泡麵盒裡還剩半截麵餅,湯涼了,面泡脹了,筷子擱在盒蓋上沒再動過。
從下午六點其他人陸續下班開始,方遠就一個人待在調試間裡。
何薇走的時候在門口說了句」方遠你早點回去」,他嗯了一聲,沒抬頭。
老周今天回來了,但五點半就走了,搪瓷缸洗了放在檯面上,比平時走得早。
林徹的辦公室燈在七點關的,腳步聲沿走廊遠去,大門開了又關了。
然後就剩方遠一個人了。
他不是在加班。
他是在想一個問題。
一個從上周就開始想,想了一整周,刻意不去碰,但越不碰越在腦子裡轉的問題。
v3.0設計文檔一共180頁,前74頁他都看過了,接口定義,數據流圖,模塊劃分,功能清單,沒有異常。
第75頁不一樣。
第75頁有一組預留接口槽位。
方遠第一次注意到這組槽位是上周,當時他在做常規模塊測試,順手翻了一頁,看到了。
預留接口在軟體架構里不罕見,很多系統都會留幾個空位給未來的功能擴展。
但v3.0的這組預留不一樣。
不一樣在哪,方遠當時說不清。
他只是覺得那幾個槽位的數據類型定義很奇怪。
不是常規的物流數據類型。
不是溫度,不是位置,不是時間戳,不是訂單編號。
那幾個欄位的類型標註是」object」,沒有進一步的說明,只有一個備註:」預留·待定義。」
方遠那天在筆記本上寫了兩行字。
」跟數據有關但不是物流數據。」
」可能跟人有關。」
寫完之後合上了筆記本,沒再碰。
直到今天。
今天下午方遠在做v3.0的藥品追溯模塊聯調測試,跑了一組壓力數據。
測試本身很順利,所有指標在預期範圍內。
但跑完之後他習慣性地看了一眼系統日誌,發現了一條他以前沒注意過的記錄。
日誌顯示,在壓力測試過程中,第75頁那組預留接口被系統自動調用了一次。
調用時長0.003秒,返回值為空。
空的。
但它被調用了。
一個」預留·待定義」的接口,在壓力測試中被自動調用了。
這意味著底層代碼里有對應的調用邏輯。
有人寫了這段代碼。
方遠知道是誰寫的。
v3.0的底層架構是老周搭的,核心代碼是林徹審的。
方遠參與了上層模塊的開發,但底層他沒碰過。
不是不讓碰,是沒必要。
底層已經搭好了,上層調接口就行。
但現在他看到了底層的一角。
一個不該被他看到的角。
方遠坐在工位上,盯著那條日誌看了很久。
調試間裡安靜得只剩風扇轉動的聲音,屏幕的藍光照在他臉上,把他的影子投到身後的白牆上。
然後他做了一件他知道可能不該做的事。
他打開了那組預留接口的底層代碼。
代碼不長,大約二百行,寫得很乾淨,變量命名規範,注釋極少。
老周的風格。
方遠一行一行地讀。
前一百行是標準的接口定義和數據校驗,沒什麼特別的。
從第一百零一行開始,數據結構變了。
不是物流維度的數據結構。
方遠的手指停在鍵盤上。
他看到了一組欄位。
」user_behavior_pattern」。
用戶行為模式。
下面還有一組。
」health_data_stream」。
健康數據流。
方遠把椅子往後推了一點,整個人靠在椅背上。
調試間裡很安靜,只有電腦風扇的嗡聲和遠處某個設備待機指示燈的微弱閃爍。
窗外黑透了,連路燈的光都照不進來。
他的心跳快了一點。
不是害怕。
是一種技術人看到未知結構時的本能反應。
像拆一台沒見過的機器,突然在裡面看到一個不該存在的零件。
這個零件不壞,不多餘,它被精確地嵌在那裡,和周圍的結構嚴絲合縫。
但它不屬於這台機器的功能範圍。
它是給另一台機器準備的。
他又把椅子拉回去,盯著屏幕上那兩組欄位。
user_behavior_pattern。
health_data_stream。
這不是冷鏈數據。
這不是藥品追溯。
這不是CCPS要用的東西。
這是另一個東西。
一個藏在CCPS底層的,用預留接口封裝起來的,沒有被任何文檔描述過的東西。
它的數據結構指向的不是物流,不是溫控,不是訂單。
是人。
是人的行為。
是人的健康。
方遠翻開筆記本。
上周寫的那兩行字還在。
」跟數據有關但不是物流數據。」
」可能跟人有關。」
現在他知道了,不是」可能」。
是」確定」。
底層代碼白紙黑字寫著user_behavior_pattern和health_data_stream。
他拿起筆,在下面又加了一行。
寫得很慢,一個字一個字地寫。
筆尖在紙上劃出輕微的沙沙聲,調試間裡安靜得能聽到自己的呼吸。
寫完之後他把筆放下,看著那行字。
看了大約十秒。
然後合上筆記本。
屏幕還亮著。
數據結構的可視化面板上,那組預留接口展開成一棵樹狀圖。
樹的最底層,有一個節點。
節點上標註著四個字。
」預留·待定義。」
方遠盯著那四個字看了很久。
他知道這四個字不是真的」待定義」。
有人已經定義好了,只是沒有寫進文檔。
有人知道這組接口最終要接什麼數據,只是現在還不到打開的時候。
那個人不是老周。
老周搭的是架構,但架構的方向是誰定的?
180頁設計文檔,179頁都是冷鏈藥品追溯。
只有第75頁的一組預留接口,指向了一個完全不同的方向。
這個方向是誰給的?
方遠沒有繼續想下去。
不是不敢想,是想到這裡,腦子裡有一種說不清的感覺。
像在黑暗中摸到了一扇門的輪廓,但手還沒碰到門把手。
他把屏幕調暗了一點,但沒有關。
站起來,走到窗邊。
窗外什麼都看不見,只有自己的倒影。
一個穿著衛衣的年輕人,頭髮亂糟糟的,眼睛下面有一圈淡淡的青。
他上一次連續幾天睡不好,是SM4延遲攻堅的那陣子。
那次是因為技術難題。
這次不一樣。
這次是因為一個他不知道該不該繼續往下看的東西。
方遠看了自己一秒,轉身回到工位。
又看了一眼屏幕。
」預留·待定義。」
他關掉了代碼編輯器,關掉了日誌窗口。
但沒有關數據結構面板。
讓那棵樹狀圖亮在屏幕上。
他拿起桌上的泡麵盒扔進垃圾桶,把桌面收拾了一下。
水杯里的水也涼了,他倒進了洗手池。
然後關了調試間的燈,走出去,帶上門。
走廊里全黑了,只有安全出口的綠色指示燈在閃。
他的腳步聲在空走廊里迴蕩,一步一步的,很清晰。
方遠走到樓梯口,站了幾秒。
調試間的門縫底下還透著一線光,那是他沒關的屏幕。
」預留·待定義」四個字還亮在數據結構面板上,面對著一間空蕩蕩的調試間。
又睡不著了。
調試間的燈。
方遠坐在工位上,面前三塊屏幕。
左邊是v3.0的設計文檔,中間是代碼編輯器,右邊是數據結構的可視化面板。
他已經坐了四個小時了。
桌上的泡麵盒裡還剩半截麵餅,湯涼了,面泡脹了,筷子擱在盒蓋上沒再動過。
從下午六點其他人陸續下班開始,方遠就一個人待在調試間裡。
何薇走的時候在門口說了句」方遠你早點回去」,他嗯了一聲,沒抬頭。
老周今天回來了,但五點半就走了,搪瓷缸洗了放在檯面上,比平時走得早。
林徹的辦公室燈在七點關的,腳步聲沿走廊遠去,大門開了又關了。
然後就剩方遠一個人了。
他不是在加班。
他是在想一個問題。
一個從上周就開始想,想了一整周,刻意不去碰,但越不碰越在腦子裡轉的問題。
v3.0設計文檔一共180頁,前74頁他都看過了,接口定義,數據流圖,模塊劃分,功能清單,沒有異常。
第75頁不一樣。
第75頁有一組預留接口槽位。
方遠第一次注意到這組槽位是上周,當時他在做常規模塊測試,順手翻了一頁,看到了。
預留接口在軟體架構里不罕見,很多系統都會留幾個空位給未來的功能擴展。
但v3.0的這組預留不一樣。
不一樣在哪,方遠當時說不清。
他只是覺得那幾個槽位的數據類型定義很奇怪。
不是常規的物流數據類型。
不是溫度,不是位置,不是時間戳,不是訂單編號。
那幾個欄位的類型標註是」object」,沒有進一步的說明,只有一個備註:」預留·待定義。」
方遠那天在筆記本上寫了兩行字。
」跟數據有關但不是物流數據。」
」可能跟人有關。」
寫完之後合上了筆記本,沒再碰。
直到今天。
今天下午方遠在做v3.0的藥品追溯模塊聯調測試,跑了一組壓力數據。
測試本身很順利,所有指標在預期範圍內。
但跑完之後他習慣性地看了一眼系統日誌,發現了一條他以前沒注意過的記錄。
日誌顯示,在壓力測試過程中,第75頁那組預留接口被系統自動調用了一次。
調用時長0.003秒,返回值為空。
空的。
但它被調用了。
一個」預留·待定義」的接口,在壓力測試中被自動調用了。
這意味著底層代碼里有對應的調用邏輯。
有人寫了這段代碼。
方遠知道是誰寫的。
v3.0的底層架構是老周搭的,核心代碼是林徹審的。
方遠參與了上層模塊的開發,但底層他沒碰過。
不是不讓碰,是沒必要。
底層已經搭好了,上層調接口就行。
但現在他看到了底層的一角。
一個不該被他看到的角。
方遠坐在工位上,盯著那條日誌看了很久。
調試間裡安靜得只剩風扇轉動的聲音,屏幕的藍光照在他臉上,把他的影子投到身後的白牆上。
然後他做了一件他知道可能不該做的事。
他打開了那組預留接口的底層代碼。
代碼不長,大約二百行,寫得很乾淨,變量命名規範,注釋極少。
老周的風格。
方遠一行一行地讀。
前一百行是標準的接口定義和數據校驗,沒什麼特別的。
從第一百零一行開始,數據結構變了。
不是物流維度的數據結構。
方遠的手指停在鍵盤上。
他看到了一組欄位。
」user_behavior_pattern」。
用戶行為模式。
下面還有一組。
」health_data_stream」。
健康數據流。
方遠把椅子往後推了一點,整個人靠在椅背上。
調試間裡很安靜,只有電腦風扇的嗡聲和遠處某個設備待機指示燈的微弱閃爍。
窗外黑透了,連路燈的光都照不進來。
他的心跳快了一點。
不是害怕。
是一種技術人看到未知結構時的本能反應。
像拆一台沒見過的機器,突然在裡面看到一個不該存在的零件。
這個零件不壞,不多餘,它被精確地嵌在那裡,和周圍的結構嚴絲合縫。
但它不屬於這台機器的功能範圍。
它是給另一台機器準備的。
他又把椅子拉回去,盯著屏幕上那兩組欄位。
user_behavior_pattern。
health_data_stream。
這不是冷鏈數據。
這不是藥品追溯。
這不是CCPS要用的東西。
這是另一個東西。
一個藏在CCPS底層的,用預留接口封裝起來的,沒有被任何文檔描述過的東西。
它的數據結構指向的不是物流,不是溫控,不是訂單。
是人。
是人的行為。
是人的健康。
方遠翻開筆記本。
上周寫的那兩行字還在。
」跟數據有關但不是物流數據。」
」可能跟人有關。」
現在他知道了,不是」可能」。
是」確定」。
底層代碼白紙黑字寫著user_behavior_pattern和health_data_stream。
他拿起筆,在下面又加了一行。
寫得很慢,一個字一個字地寫。
筆尖在紙上劃出輕微的沙沙聲,調試間裡安靜得能聽到自己的呼吸。
寫完之後他把筆放下,看著那行字。
看了大約十秒。
然後合上筆記本。
屏幕還亮著。
數據結構的可視化面板上,那組預留接口展開成一棵樹狀圖。
樹的最底層,有一個節點。
節點上標註著四個字。
」預留·待定義。」
方遠盯著那四個字看了很久。
他知道這四個字不是真的」待定義」。
有人已經定義好了,只是沒有寫進文檔。
有人知道這組接口最終要接什麼數據,只是現在還不到打開的時候。
那個人不是老周。
老周搭的是架構,但架構的方向是誰定的?
180頁設計文檔,179頁都是冷鏈藥品追溯。
只有第75頁的一組預留接口,指向了一個完全不同的方向。
這個方向是誰給的?
方遠沒有繼續想下去。
不是不敢想,是想到這裡,腦子裡有一種說不清的感覺。
像在黑暗中摸到了一扇門的輪廓,但手還沒碰到門把手。
他把屏幕調暗了一點,但沒有關。
站起來,走到窗邊。
窗外什麼都看不見,只有自己的倒影。
一個穿著衛衣的年輕人,頭髮亂糟糟的,眼睛下面有一圈淡淡的青。
他上一次連續幾天睡不好,是SM4延遲攻堅的那陣子。
那次是因為技術難題。
這次不一樣。
這次是因為一個他不知道該不該繼續往下看的東西。
方遠看了自己一秒,轉身回到工位。
又看了一眼屏幕。
」預留·待定義。」
他關掉了代碼編輯器,關掉了日誌窗口。
但沒有關數據結構面板。
讓那棵樹狀圖亮在屏幕上。
他拿起桌上的泡麵盒扔進垃圾桶,把桌面收拾了一下。
水杯里的水也涼了,他倒進了洗手池。
然後關了調試間的燈,走出去,帶上門。
走廊里全黑了,只有安全出口的綠色指示燈在閃。
他的腳步聲在空走廊里迴蕩,一步一步的,很清晰。
方遠走到樓梯口,站了幾秒。
調試間的門縫底下還透著一線光,那是他沒關的屏幕。
」預留·待定義」四個字還亮在數據結構面板上,面對著一間空蕩蕩的調試間。
又睡不著了。