`??=` 不等於 `a = a ?? b`:邏輯賦值運算子的短路與單次求值
一次 code review 上,有人問了一行 ??=:「這不就是 += 那種變形嗎?只是現在多支援 ||= 和 ??= 兩類寫法?」
一次 code review 上,有人問了一行 ??=:「這不就是 += 那種變形嗎?只是現在多支援 ||= 和 ??= 兩類寫法?」
我有一個 side project:一個台股行情資料的爬蟲系統,每天開盤自動啟動、收盤停止、晚上全量重抓,跑在雲端、透過 Telegram 推播訊號。它是我一路 vibe coding 迭代出來的——功能一直長,但我從來沒有系統性地檢視過整個 codebase。它能跑,而且跑了好幾個月。
有一個共用的 composable,負責去後端撈一份「選項清單」(下拉選單用的 label)。它用 module scope 的 ref 做成 singleton + cache,設計上要外層 component 先呼叫 fetch() 把資料載進來,子 component 再直接讀 cache。
最近在維護一個關鍵字搜尋功能時,遇到了一個經典的工程問題:手寫的 Regex 驗證邏輯越來越難維護,每次修 bug 都像在拆炸彈。
在後端開發中,我們常遇到需求不斷疊加,導致原本單純的類別(Class)變成了「上帝類別(God Class)」,職責混雜且難以測試。最近我在處理一個將資料上傳到 PrimaryAPI(主要資料平台)與 BackupService(備份服務)的功能時,就遇到了「堆疊式複雜度」的問題。本文將分享如何利用 Observer Pattern(觀察者模式)1 與 Mediator Pattern(中介者模式)2 來優化架構,達成高內聚低耦合的設計。
2026 年剛開始,我就收到了一份「大禮」。