《今天真的不想加班》第448章 林眠的發現:加班時長與bug率呈詭異正相關曲線(1)

作者:孟旬·7個月前

週日凌晨兩點十七分,資料模型執行到了最關鍵的階段。

林眠已經三十七個小時沒有閤眼了。他的太陽穴在突突跳動,視野邊緣偶爾會出現細微的閃爍光點——這是視覺皮層過度疲勞的訊號。但他沒有停。桌面上散落著能量飲料的空罐子,還有一個只咬了一口的冷掉的三明治。

螢幕上,三條曲線正在同步繪製。

第一條藍色曲線,是過去一週技術部所有人每小時的平均程式碼提交量。這條線從早上九點開始平穩上升,在下午三點達到峰值,然後開始緩慢下滑——這很正常,符合人體生理節律。

第二條紅色曲線,是每小時產生的bug數量。這條線就詭異了:早上九點到下午六點,它幾乎是一條平直的底線,偶爾有輕微波動。但晚上七點過後,它開始抬頭。八點,小幅上升。九點,明顯爬升。十點之後,幾乎呈45度角直線飆升。

林眠放大晚上十點到凌晨兩點的區間。

紅色曲線在螢幕右上角幾乎要衝出座標系。峰值出現在午夜十二點左右,是白天平均水平的3.8倍。

更詭異的是第三條黃色曲線——這是林眠自己新增的“程式碼複雜度指數”。它測量的是每段程式碼的邏輯複雜度和依賴關係。理論上,複雜的程式碼更容易出bug,所以黃線應該和紅線同步波動。

但現實是:黃色曲線很平穩。甚至在晚上十點後,程式碼複雜度還在下降——因為員工太累了,寫的都是簡單重複的邏輯,或者直接複製貼上以前的程式碼。

複雜度下降,bug率卻飆升。

這不合理。

林眠皺起眉頭。他調出原始資料,一行行檢查。

晚上十點四十五分,小李提交了一段資料驗證程式碼。白天類似的程式碼,平均bug率是每百行0.7個。這段程式碼的bug率是每百行3.2個——而且都是低階錯誤:邊界條件沒判斷,空指標沒處理,連變數名都拼錯了一個字母。

午夜零點二十一分,小張提交了一個介面模組。林眠記得這個模組——小張三天前就寫好了初版,當時測試透過率98%。現在提交的是“最佳化版”,測試透過率卻跌到了71%。優化了什麼?林眠點開程式碼對比工具。

所謂“最佳化”,就是把原本清晰的三個函式,硬生生揉成了一個兩百多行的巨型函式,註釋亂七八糟,異常處理七零八落。

這不是最佳化,是退化。

是疲勞狀態下,大腦喪失結構化思維能力的典型表現。

林眠的手指在鍵盤上停住了。

他忽然想起母親批改作業時的情景。她教語文,最常說的一句話是:“文章寫得好不好,不在於用了多少華麗辭藻,在於思路清不清晰。”她批改到深夜時,有時候會揉著眼睛說:“眠眠,媽媽眼睛花了,有些字都看成重影了。”

那時候他不懂,只覺得媽媽辛苦。現在他懂了——當視覺疲勞到出現重影時,大腦的判斷力已經嚴重受損。母親那時批改的作業,肯定有很多錯漏沒看出來。

但作業批錯了,最多是學生少得幾分。

程式碼寫錯了,系統可能會崩潰,資料可能會丟失,公司可能會損失真金白銀。

林眠深吸一口氣,新建了一個分析維度。

他要把“個人累計加班時長”和“個人bug率”關聯起來。

資料重新跑起來。進度條緩慢移動。

等待的時間裡,他站起身,在辦公室裡踱步。地毯很軟,吸收了腳步聲。月光從東面的窗戶斜斜照進來,在地板上投出窗格的影子。行軍床區域傳來均勻的呼吸聲——小李睡著了,小張還在低燒中昏睡,其他幾個人也都進入了深度睡眠。

至少,他們現在在休息。

林眠走到小張床邊,伸手探了探他的額頭。溫度降下來了,但皮膚摸起來還是乾燥發燙。小張在睡夢中皺了皺眉,嘟囔了一句什麼,聽不清。

。位工回走,角被掖了掖他給眠林

。%001到走條度進

。氣涼口一吸倒他讓圖點散的上幕螢

---

。了住震象景的前眼被,時門璃玻部技開推早蘇,分十點八午上

。了來也計會老的面很時平個那部務財至甚,理經個兩的部營運、監總劉部品產有還,人的部技是只不——解講人個幾十的坐圍給在正,筆雷著拿裡手,前板白在站眠林。頭箭和註標了滿寫麻麻筆克馬的同不用,片照和表圖的來出印打了滿上板白

”。人個一表代點個每。率gub人個是軸縱,長時班加計累的週一去過人個是軸橫“,力有晰清氣語但,啞沙音嗓的眠林”。圖張這看“

。高越率gub,多越班加。裡域區狀帶的斜傾方上右向條一在落都點數多大:律規的安不人令個一出現呈圖點散的上板白

。倍五到四的人他其是率gub,升飆直垂乎幾們它——點個三那角上右是的異詭正真但

。問監總劉部品產”?誰是點個三這“

”。生習實個那的UCI送倒暈天前是就——陳小的部營運有還,浩王、周小的部技“:註標的邊旁點個三那出圈筆雷用眠林

。寂死片一裡室議會

”——是的鍵關更。倍1.5和倍8.4、倍2.4的平水均平是別分率gub“,說續繼眠林”。時小19和時小28、時小87是別分長時班加計累的週一去過們他“

。析分列序間時張一是,圖張一下換切他

”。直垂乎幾線曲,後時小07過超長時班加在而。升上級數指始開,後時小06過超長時班加在,線曲化變率gub的人個三這“

。上線的起而天沖條三那在停點紅的筆雷

”。值價的造創你於高遠能可,本的誤錯且而——誤錯造製在是,值價造創在是不,班加外額鐘分一每的出付你。塌崩式崖斷是,降下線是不量質作工的人,後點界臨個某到累積勞疲當著味意“,人眾視環眠林”?麼什著味意這“

”?嗎撐支料資有,’本的誤錯‘個這,工林“:鏡眼推了推計會老部務財

”。元0005-0003是約大本,算計資薪均平部技按。日人個5.1要需,線上新重到證驗到復修到現發從,gub上線個每均平。計統本復修gub的年兩去過司公了取調我“,告報的來出印打剛份一起拿上桌從眠林”。有“

。頓了頓他

”?值價外額多了造創司公為,班加的週一這人三們他而。間之元萬21到萬8在本復修,計估守保。響影際實了造經已,gub上線是個21中其。gub個74了生產計累週一去過,人個三那的到提剛剛而“

。表計統出產張一出調他

。%51高平水均平比:量出產碼式程的週一去過人個三

。%04低平水均平比——碼式程的行執線上能、試測過正真是就也——出產效有但

”。率效的低更和gub的多更了來換,費班加的倍5.1了付支司公。失損造製班加在是,值價造創班加在是不們他“,結總眠林”,上際實以所“

。聲論議的低低起響裡室議會

”。做重要現發才了完做發開致導,了反寫求需的能功個兩把理經品產個有。多很了高也率誤錯件文求需的近最……邊那部品產們我“:看難臉監總劉

”。故事大釀點差,點數小個一了錯算料資,案劃策活的週上。是也們我“:頭點理經個一的部營運

”。下量質位方全的致導勞疲統系是這“,說眠林”。題問的部技是只不這以所“

。圖的大更張一著面上,前板白塊一另到走他

”。象現的律規是乎幾……個一了現發,遍一了跑都料資作工的月個一去過司公全把我“,了沉低更音聲的他”。現發的心擔最我是這“

。線曲的異詭條一著畫上圖

。上向直垂乎幾線曲,後時小41。大增劇急率斜,後時小21。速加始開線曲——右左時小01作工續連是常通——後之點個某在但。升上慢緩率gub,長延間時作工著隨,始開點零從它

。誌標告警紅個一了註標上圖,時小61在而

”。陷缺大重的障故級統系發引能可、的面層構架是,誤錯輯邏的單簡是不往往gub的生產候時這,是的怕可更。倍8到6的平水常正是率gub“,標紅個那著指眠林”,後時小61作工續連“

:例案個幾出調他

。表者用使個整空清點差,了反寫件條”EREHW“把果結,詢查庫料資心核個一了”化佳最“,後時小81作工續連工員某:一例案

。時小兩斷中務服上線致導,境環產生了到署部碼式程境環試測把,址地PI個一了錯寫里本腳署部在,後時小02作工續連工員個一另:二例案

。時及現發好幸。萬01了報同合的萬001把——零個一了寫上單價報的戶客給在,後天三班加續連,工員個有部售銷:三例案

”。了令指個這’辨分‘理法沒本腦大是,糖和鹽清不分是不——裡啡咖進放糖當鹽把會,時致極到累你像就。現表的力斷判礎基失喪經已腦大是“,說眠林”,’心小不‘是不些這“

。音聲的口風出調空到聽能得靜安裡室議會

。相真的魄心驚最著說,氣語的靜冷最用正,人男的滿佈裡睛眼、衫襯皺著穿個這——眠林著看。著聽靜靜,口門在站早蘇

。抖點有手,記筆做落角在李小到看

。雜複神眼,排後在坐病著撐張小到看

。苦的”歷經在也們我“和,然恍的”此如來原“種那上臉,人的門部他其到看

。了到看,頭過轉眠林到看後然

。瞬一了匯中空在目的人兩

。板白向轉續繼,頭點了點對眠林

”。劇悲……多更,故事多更,誤錯多更是,出產多更是不的來換,支行強。源資的期復恢要需是,力造創、力斷判、力意注的人——行不人但。上得跟護維、熱散、電供要只,轉運時小42以可機。機是不人為因“,圖點散張一第啟開新重他”?通不行’700‘麼什為:題問的初最到回以所“

。輕很音聲,時字個兩”劇悲“說他

。了懂聽都人有所但

。劇悲是就,生習實的UCI在個那

。劇悲是也,退不燒高張小

。延蔓司公全在,式方的測預以可料資以在正,劇悲的樣這而

”。奏節期排整調要需們我?嗎份一部品產們我給能……料資些這“,乾音聲,了口開監總劉”,工林“

”。度強活估評新重要們我“,說理經部營運”。份一要也我“

”。IOR案專算測新重要需們我那,本加增而反班加果如“,鏡眼了推計會老”。要需也部務財“

”。件條個兩有但,分以可我料資“:頭點點眠林

。他著看都人有所

”。工員的料資供提護保了為是,司公護保了為是不——傳外能不,化佳最理管部於用能只料資些這,一第“

”。實真的們你出說,上會在能——值價的料資些這可認果如——們你希我。議會大擴備籌市上開要董陳,點九午上一週下“,頓了頓他”,二第“

。默沉陷次再室議會

。重沉更也,長更默沉次這

?實真出說

猜你喜歡

同題材或同分類的其他作品。