我是文科背景、正準備轉職的軟體小白。這系列用同一個「代購 App」案例貫穿 30 天,以 Top-down 學習法先建立系統設計的宏觀視角,再逐步深入細節。內容分五階段:界定範疇與約束、資料流與狀態管理、模組化與 SOLID 原則、測試與效能、系統演進與回顧。每篇都誠實記錄我卡在哪裡、怎麼想通的。如果你也是非本科、正在自學路上,這系列是寫給你們的!
昨天談重構時提到一個關鍵前提:每改一小步,就要重新跑測試,確認外部行為沒有改變。但這句話藏著一個沒講清楚的問題——程式碼要「容易被測試」,本身也是一種需要刻意設...
昨天把純函式和有副作用的程式碼分開放之後,今天要正式談「測試」這件事本身:測試應該分成幾種層級、每一層各自驗證什麼、以及遇到無法避免的副作用時,該怎麼處理。 一...
昨天談的測試,驗證的是「結果對不對」,但一個函式就算結果完全正確,也可能慢到使用者等不下去。今天要回頭把 Day 6 提過的 Big-O,實際套用在前端最常見的...
昨天談的是演算法本身的時間複雜度,但前端效能問題還有另一個常見來源:使用者操作觸發事件的「頻率」。打字、捲動、拖曳視窗,這些動作短短一秒內可能觸發幾十次事件,如...
Day 17 談的是程式碼「怎麼被組織」成一個個模組;今天要接著談這些模組最終要怎麼被送到瀏覽器裡執行——這背後牽涉到一段工具演進的歷史,也說明了為什麼現代前端...
Day 13 談過壞味道、Day 20 談過重構,但這些原則如果只靠「大家自己注意」,在趕時間的時候很容易被犧牲掉。今天要談的是怎麼用工具,把這些規範變成自動化...