
[程式碼異味 #1] 為什麼義大利麵程式碼是義大利麵?
義大利麵程式碼指的不是長度或髒亂,而是控制流程。本文從 Dijkstra 1968 年反對 goto 的信開始,整理 goto 消失後義大利麵仍然存在的原因,以及如何用循環複雜度衡量。
閱讀文章ARCHIVE · 04
從基礎概念到實務決策,循序瀏覽。

義大利麵程式碼指的不是長度或髒亂,而是控制流程。本文從 Dijkstra 1968 年反對 goto 的信開始,整理 goto 消失後義大利麵仍然存在的原因,以及如何用循環複雜度衡量。
閱讀文章
資料結構 Heap 只和記憶體 Heap 同名,兩者毫無關係。本文整理不必完整排序就能快速取出最小值的規則、用陣列表達樹的索引計算,以及優先佇列在實務中的定位。
閱讀文章
Claude Code 的 /init 命令會分析程式碼庫並自動產生 CLAUDE.md。本文整理已有檔案時的行為、Cursor・Copilot 規則移轉、互動模式,以及產生後的調整準則。
閱讀文章
啟用 Swift 6 模式後,大量並行處理錯誤會湧現,而主角通常是 Sendable。本篇整理這個協定的意義:值能否跨越隔離邊界,以及依序採用值型別、不可變化、升級為 actor 的遷移處方。
閱讀文章
冪等性是指多次送出相同要求時,結果仍然相同的特性。本文整理網路失敗與重試時需要它的原因、GET・PUT・DELETE與POST的差異,以及Idempotency-Key的實作方式。
閱讀文章