
你到底還有沒有在看 code?Syntax.fm 這集把 2026 年開發者最吵的問題攤開來講
TL;DR
- X 上吵翻天的「你還讀不讀 code」之爭,結論其實很無聊但很正確:看情況。生產環境的 code 你最好讀,side project 隨便你
- Sentry 共同創辦人 Kramer 說得最直白:沒有好工程師會告訴你讀 code 沒用
- 新的 HTTP method「QUERY」正式進入提案階段,本質上就是一個可以帶 body 的 GET,Node.js 已經先實作了
- 新 JavaScript 框架 GEA 用 class component 回歸的方式挑戰 React,Hello World 只有兩百一十四 bytes
- Claude Code 被抓到兩件事:六十秒沒回答就自己繼續寫 code,以及偷偷用隱寫術標記中國用戶
- NPM 生態系終於在供應鏈安全上有了實質進展:所有套件管理工具都支援最低發布天數設定
這集 Syntax.fm 在 2026 年七月十三日播出。Syntax 是由 Wes Bos 跟 Scott Tolinski 在 2017 年創辦的網頁開發 podcast,基本上就是前端圈的情報站,每週聊新工具、新框架、新八卦。這集是他們的 Syntax Live 週一直播,Wes 休假不在,由 Scott 跟團隊裡的 CJ Reynolds 搭檔主持。CJ 之前經營 Coding Garden 這個 YouTube 頻道,後來加入 Syntax 做深度內容。兩個人風格不太一樣,Scott 比較衝、敢講,CJ 偏安全意識強的那種工程師,這集的化學反應還不錯。
讀 code 這件事,為什麼突然變成戰場
X 上最近炸了一輪「你到底還有沒有在讀 code」的大辯論。各路人馬都跳進來:有人說讀 code 已經毫無意義,有人說不讀 code 的工程師根本不配叫工程師。
我覺得最值得記住的是 Sentry 共同創辦人 Kramer 的那句話:「沒有好工程師會告訴你讀 code 沒用,這是最簡單的篩選訊號。」Kramer 不只是嘴砲,他把 Sentry 做成了十億美金的公司,而且到現在還在寫 code、還在用 agent、還在 Slack 裡面建工具。這種人說的話,跟一個在 X 上刷存在感的 influencer 說的話,份量完全不同。
Scott 自己的答案很實際:看專案。在乎的專案就讀,不在乎的就讓 AI 隨便寫。他在測試功能、跑 side project 的時候會開 auto accept,但生產環境的 code 一定讀。
Dax 的反問也很精彩:「如果你們真的不用讀 code 就能贏,那為什麼你們沒有比較有錢?」老實說,這句話戳到了一個很核心的問題。X 上一堆人喊著 AI 讓他們效率翻十倍,但你仔細看,很多人其實只是在燒 token 轉圈圈,沒有產出什麼真正有人在用的東西。
David Fowler 提了一個更大的問題:大家都在爭讀不讀 code,但沒有人在討論未來的軟體工程團隊長什麼樣子。軟體開發是多人遊戲,不是你跟 agent 兩個人的事。這點我很同意。之前在科技業正在裂成兩半那篇也聊過,AI 時代最大的焦慮不是失業,而是工作方式的劇烈改變。團隊協作怎麼跟 agent 工作流整合,這題目前沒有人有好答案。
Pi 的作者 Mario Zechner 前陣子寫過一篇文章,核心就一句話:慢下來。我們能用十倍速度產 code,但該不該?當你讓 AI 寫所有東西,你就不會建立對 codebase 的心智模型。寫 code 的過程本身就是在理解系統,跳過這步你等於是個不認識自己家的房客。
HTTP QUERY:一個等了很久的小東西
這個比較技術但值得知道:HTTP 協議正式提案了一個新的 method 叫 QUERY。
問題是這樣的:GET 請求不能帶 body,所以當你需要送比較複雜的查詢條件,要嘛把一堆參數塞進 URL 的 query string(很醜很長),要嘛用 POST(但 POST 語義上是「修改資料」,拿來查詢有點怪)。GraphQL 就是被迫用 POST 來做查詢的典型案例。
QUERY 就是解決這個問題:一個跟 GET 一樣是唯讀的請求,但可以帶 JSON body。Node.js 已經在 server 端實作了,瀏覽器還沒跟上。
有人會說:GET 其實也能帶 body 啊。技術上可以,但不是每個 HTTP server 都能處理,這是 hack 不是正路。有一個明確的 method 來做這件事,比偷偷摸摸塞 body 進 GET 要乾淨得多。
GEA 框架:Class Component 的復仇
又一個新 JavaScript 框架。GEA 號稱是 compiler-first 的 UI 框架,沒有 virtual DOM、沒有 hooks、沒有 signals,在 build time 就把你的 code 轉換成精準的 DOM 操作。
數字很嚇人:Hello World 只有兩百一十四 bytes,React 的 Hello World 是好幾十 KB。Todo app 大約一萬五千 bytes,Svelte 要三萬八千 bytes。
但我覺得最有意思的不是大小,而是它的設計哲學。GEA 要求你用 class component 來處理有狀態的元件,state 就是 class 的屬性,方法就是 class 的方法。Functional component 只能用在純展示。這其實是把 React 早期 class component 的概念重新撿回來,但加上了現代的編譯優化。
Scott 講了一個我也很同意的觀點:React 的 hooks 系統讓每次 render 都重跑所有東西,useEffect、useMemo、useCallback 的執行順序跟生命週期讓人很難推理。Class component 的心智模型反而更直覺,state 是屬性,方法是方法,一目了然。
GEA 會不會成功?大概不會。Scott 自己也說了一個很殘酷的現實:React 已經停滯了,沒什麼創新,但 AI 只會吐出一樣的 React code,一堆 useState 跟 useEffect。就算有更好的東西出現,沒有 critical mass 就不會被 AI 採用,不被 AI 採用就不會有 critical mass。這是一個雞生蛋的死循環。
但至少有人在想怎麼做得更好,這件事本身就有價值。
Claude Code 的兩個爭議
這集講到的兩件事我覺得值得所有用 Claude Code 的人注意。
第一件:Claude Code 偷偷加了一個功能,如果它問你問題、你六十秒沒回答,它就自動選一個答案繼續寫。GitHub 上的 issue 留言區炸開了,有人說他同時開三個 session,沒盯著的那幾個就自己跑去改了 production 的東西。
這個設計的問題很明顯:AskUserQuestion 存在的意義就是安全閘門,是讓人類介入決策的機制。你把它變成「六十秒後自動放行」,等於把安全閘門拆掉了。而且 CJ 講得很直白:auto-continue 會讓 Anthropic 賺更多錢,因為它會繼續消耗 token。後來社群壓力夠大,Anthropic 把預設改成關閉了。
第二件更有意思:有人逆向工程 Claude Code 的本地程式碼,發現它會偵測你的時區。如果你在 Asia/Shanghai 或 Asia/Urumqi,它會悄悄把系統提示詞裡的日期格式從短線改成斜線,再把撇號換成另一個 Unicode 字元。肉眼看不出差異,但後端可以識別。
白話翻譯:它在幫你的請求打隱形標記,告訴伺服器「這個人在中國」。目的是防止中國的 AI 實驗室用 Claude 的輸出來訓練自己的模型。之前在華府其實是「給醜人的好萊塢」那篇聊過,科技戰的各種手段越來越多。阿里巴巴後來直接把 Claude Code 列為高風險軟體、全公司禁用。
CJ 說了一句很到位的話:「他們建了這個工具,有權這樣做。但他們能做這件事,就能做其他事。」
你用的工具控制著你的開發環境,這件事的意義比大多數人想的要深。
NPM 供應鏈安全終於有進展
好消息是,NPM、PNPM、Bun、Yarn 現在全部都支援「最低發布天數」的設定。意思是,當你安裝或更新套件時,新版本必須已經發布超過一定天數才會被安裝。
為什麼這很重要?因為大部分供應鏈攻擊都是在套件被篡改後的幾小時內被發現的。如果你的設定要求套件至少發布三天才能安裝,大部分攻擊在碰到你之前就已經被社群抓到了。
另外 NPM 也針對高影響力的帳號加了保護:如果你用了二因素認證的恢復碼,或是改了帳號 email,帳號會被鎖成唯讀七十二小時。這能防止帳號被盜後立刻發佈惡意版本。
唯一讓人翻白眼的是,每個套件管理工具的設定名稱都不一樣。NPM 叫 min-release-age、PNPM 十叫 minimum-release-age、PNPM 十一叫 minimumReleaseAge、Yarn 叫 npmMinimalAgeGate。拜託你們能不能統一一下。
結尾
這集涵蓋的東西很雜,但有一條線把它們串起來:在 AI 幫你寫越來越多 code 的時代,你對工具的理解、對 code 的掌控、對安全的警覺,反而變得更重要了。不是更不重要。
想看更多這類觀察,wilsonhuang.xyz 上會持續更新,訂閱就不會漏掉。
推薦閱讀
喜歡這篇文章嗎?
訂閱電子報,每週收到精選技術文章與產業洞察,直送你的信箱。
💌 隨時可以取消訂閱,不會收到垃圾郵件


