工程師的本職工作:交付經得起驗證的程式碼 來自Simon Willison 最新博客,主要探討在AI 程式設計工具普及的當下,軟體工程師如何重新定義自己的核心價值與責任? 核心論點:程式碼產生的廉價與交付品質的昂貴在AI 時代,"寫程式碼" 這件事本身的門檻和成本已經降到了極低。 Simon 指出:只是產生程式碼並提交PR,不再具有任何價值。 如果工程師利用AI 產生了大量程式碼,卻不加驗證地拋給同事去審查,這不僅是一種嚴重的失職,更是對他人的不尊重。工程師真正的價值,在於為程式碼的正確性提供保證。 如何履行「證明代碼有效」的職責? Simon 認為,要證明程式碼有效,必須嚴格執行兩個不可或缺的步驟: 步驟一:手動測試這是最基本的底線。作者強調一個原則:如果你沒有親眼看到程式碼運行成功,就預設它是壞的。 · 眼見為憑:你必須親自運行程式碼,並觀察其行為。 · 提供證據:在提交程式碼審查時,你應主動提供證明。例如,在PR 描述中貼上終端的運行日誌,或對於UI 變更,附上螢幕錄製或截圖。 · 覆蓋邊緣:不要只測試最理想的情況,要嘗試那些容易出錯的邊緣情況。 步驟二:自動化測試只有手動測試是不夠的,程式碼庫中必須包含能確保持續有效的自動化測試。 · 以測代證:提交的程式碼變更應該包含一個新的測試案例。理想狀態是:這個測試在應用變更前是失敗的(紅色),應用變更後是成功的(綠色)。 · AI 的強項:現在的LLM 非常擅長寫測試程式碼。作者認為,在AI 如此強大的今天,以此為藉口跳過編寫測試是完全不可接受的。 · 互補關係:自動化測試不能完全取代手動測試,兩者必須結合使用,缺一不可。 AI 程式設計智能體時代的生存法則文章提到了2025 年的一個顯著趨勢:能夠自主執行任務的Coding Agents 正在爆發。針對此趨勢,作者給了極具操作性的建議: · 像導師一樣思考:你應該把AI Agent 視為你的初級員工。你的工作是訓練它們,教導它們如何透過執行程式碼或寫測試來「自我驗證」工作成果。 · 「品味」決定高度:AI 擅長模仿。如果你的專案中已經具備了結構清晰、模式良好的測試套件(這就是作者所說的「品味」),AI 就能非常出色地透過模仿來擴展這些測試。 · 利用工具特性:Agent 不會像人類一樣對編寫測試感到厭煩,它們非常樂意做這項工作。身為資深工程師,你應該利用這一點,建立良好的測試文化。 總結:人類不可取代的問責制無論AI 多麼智能,電腦永遠無法為錯誤負責。只有人類可以。在當今這個時代,透過Prompt 產生數千行程式碼只需幾秒鐘,但這毫無意義。真正有價值的,是你作為“Human in the loop”,指著這段程式碼自信地告訴團隊:“我對這段程式碼負責,因為我已經證明了它是有效的。” 部落格原文
正在載入線程內容
正在從 X 取得原始推文,整理成清爽的閱讀畫面。
通常只需幾秒鐘,請稍候。
