想法與洞見

探索 AI 優先開發、編碼護欄和可處置架構。

刪掉,不要遷移:Vibe-coded React Native app 的重構策略

重構 AI 生成程式碼,等於去逆向推斷一個你從來沒有擁有過的意圖。這個以介面為中心的 replacement pattern,能讓刪除變得安全。

在生物學裡,autotomy 指的是動物主動捨棄已經不再有用的身體部位。蜥蜴會斷尾來逃離掠食者。那條尾巴曾經有用,但想活下來,就得放手。之後還會再長出一條新的。 這就是你應該如何看待 Vibe-coded React Native app 的重構。 在 AI-coded 的早期 MVP 裡,第一版 auth flow…

Cursor 和 Claude Code 如何毀掉你的 React Native 架構(以及如何修好它)

AI 生成的 auth 在新 feature 把手伸進錯誤 service 之前,看起來都沒問題。這套 interface-driven 架構能避免 vendor swap 和功能迭代一起打壞 login。

Vibe-coded React Native app 裡一個反覆出現的 failure mode 是:新 feature 直接 import 現有 service,伸手去改不屬於自己的 state,然後把無關的 flow 一起打壞。auth 很容易成為受害者,因為它往往會變成所有人的 shared…

為什麼 deep link 會讓 Vibe-coded React Native app 直接 crash(以及如何用 Zod 驗證它們)

deep link、push payload、shared URL 全都是 untrusted input。這裡會說明如何在 Expo Router boundary 就先 validate 它們,別讓壞 params 進到 screen。

Vibe-coded app 裡的 deep link bug,通常都從一些很無聊的 input 問題開始:malformed user ID、過期的 campaign URL、push payload 裡缺少的 enum 值。接著 app 把這些 input 當成可信資料,screen 就會在 happy-path…

useSyncExternalStore:把你的 Vibe-coded app 從 state bug 裡救出來的 React Hook

別再寫那些會 memory leak、會漏掉 state update 的 useEffect subscription 了。這是 React 18 用來打造 bulletproof external state 的 pattern。

我以前寫 network detection hook 的方式,和大多數 vibe coder 沒什麼兩樣:一個 去 subscribe NetInfo,在 connectivity 改變時更新 state,然後祈禱一切順利。它在 development 裡能跑,在 production 裡會出事。 race…