《AI時代:碼農的涅盤重生》第45章 代碼審查(2)

作者:Flint8·5天前

林晨點頭:“我回去一條條改。大概需要多久”?

“給你兩天時間”。陳峰說,“改完後重新提交,我會再審查。另外,建議你仔細讀一下專案裡的 CONTRIBUTING. 貢獻指南,還有 code-review-checklist. 程式碼審查清單,裡面寫了所有要求和常見問題”。

“好的,我馬上看”。

回到工位,林晨先點開陳峰說的那兩個文件。貢獻指南足足有三十多頁,從 Git 工作流、提交資訊規範、程式碼風格、測試要求,到安全注意事項、效能最佳化點,事無鉅細。程式碼審查清單更是列了一百多項檢查項。

他泡了杯濃茶,開始逐條處理評論。

第一條,型別定義。他把所有的 any 都替換成具體型別: string、 nuer、 BigNuer( Web3 中處理大數字的庫)、自定義介面……光是完善型別,就花了兩個小時。

第二條,智慧合約互動。他查閱專案裡其他類似元件的實現,學習如何處理交易傳送、等待確認、錯誤回退。添加了 Gas 費估算函式,在使用者點選前彈出預估費用和確認框。這部分涉及對以太坊交易機制的深入理解,他邊學邊做,到下午三點才完成。

第三條,程式碼結構重構。這是最耗時的。他把那個龐大的元件拆解:計算邏輯抽成 calculateYield.ts,格式化函式抽成 fortters.ts,狀態管理改用 Zustand 建立獨立 store。拆解過程中,他發現了自己原來程式碼裡的幾個隱藏 bug ——狀態更新時機不對導致渲染閃爍。如果不是重構,這些 bug 可能要到使用者使用才會暴露。

第四條,安全問題。他徹底重寫了計算公式部分。不再允許使用者自由輸入,而是提供幾個預設計算模式(線性、指數、對數),使用者只能選擇模式和調整引數。雖然靈活性下降,但絕對安全。

第五條,樣式重構。他強迫自己學習 Tailwind CSS 的類名體系,把一堆內聯樣式替換成原子化類。調整響應式斷點,確保從手機到桌面都能正常顯示。

晚上八點,辦公室只剩下寥寥幾人。林晨終於處理完最後一條評論,重新執行測試,全部透過。他再次提交 PR ,這次在描述裡詳細列出了所有修改點,並 @ 陳峰。

幾分鐘後,陳峰迴復:“收到,明天上午審查。”

林晨關掉電腦,揉了揉發酸的眼睛。走出寫字樓時,南山科技園的夜空稀疏地亮著幾顆星。晚風帶著深圳灣的潮溼氣息吹來,他深吸一口氣,疲憊中卻有種奇異的充實感。今天這四十七條評論,像一面鏡子,照出了他過去十年在舒適區裡形成的思維定式——只求功能實現,忽視安全質量;只顧眼前交付,不想長期維護。而 Web3 這個領域,正在用最嚴格的標準逼迫他打破這些定式。

地鐵上,他開啟手機,看到蘇婉發來的訊息:“今天又加班?晚飯在鍋裡,記得熱了吃”。

他回覆:“剛下班,在回去路上。今天被陳哥批了程式碼,改了整整一天”。

蘇婉很快回復:“批得狠嗎?”

“四十七條修改意見”。

“啊……那確實不少。不過能學到東西就好,別太有壓力”。

“嗯,確實學到很多。就是感覺……三十五歲重新當學徒,滋味挺複雜”。

“學徒不可怕,可怕的是連當學徒的機會都沒有。你現在至少還有公司願意花時間培養你,不是嗎”?

林晨看著這句話,心裡某個地方被觸動了。是啊,如果是在原來那家公司,以他十年老員工的資歷,誰敢給他的 PR 提四十七條意見?但在那裡,他也溫水煮青蛙般停止了成長。而現在,雖然被批評、被要求重寫、像個新手一樣從頭學起,但每一天都能感覺到自己在突破舊邊界。

回到家已經九點半。蘇婉陪樂樂睡了,餐桌上留著飯菜和一張便籤:“熱兩分鐘就能吃,別湊合”。

林晨熱了飯,坐在餐桌前安靜吃完。然後開啟自己的筆記型電腦,沒有繼續看公司程式碼,而是點開了那個他一直在悄悄開發的智慧投資系統。這幾天忙於適應新工作,系統的開發進度慢了下來。但此刻,看著自己完全掌控的程式碼庫,他忽然有種奇妙的感覺——在公司的 PR 裡,他是被審查者,要遵循別人的規範;但在這個自己的專案裡,他是規則的制定者。而這兩種角色,或許都需要。

他寫了幾行程式碼,又停下來思考。今天陳峰強調的安全性和健壯性,是不是也應該應用到自己的投資系統裡?比如更嚴格的輸入驗證,更完善的錯誤處理,更模組化的架構……

手機震動了一下,是陳峰發來的 Slack 訊息,在他提交的新 PR 下:“初步看了一下,修改方向都對。明天我會詳細審查,今天早點休息”。

林晨回覆:“謝謝陳哥,明天見”。

關掉電腦,他走到陽臺上。夜色中的深圳,無數寫字樓依然燈火通明。這座城市永遠不缺加班的人,不缺學習的人,不缺在壓力中試圖抓住機會的人。

他想起下午修改程式碼時的一個瞬間——當他終於理解為什麼 Web3 前端必須預估 Gas 費並提示使用者確認時,那種“啊,原來如此”的頓悟感。那種感覺,讓他想起二十多歲剛入行時,第一次理解非同步程式設計,第一次搞明白閉包,第一次成功除錯一個複雜 bug 時的興奮。三十五歲,重新找到那種學習新東西的興奮感。這或許就是這次被迫轉型,最珍貴的收穫。

猜你喜歡

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