寫程式的時候,我常常覺得自己寫的不是程式碼,而是一團亂毛線球。寫完一個小東西,想加新東西不知道怎麼加進去。這個暑假,我決定挑戰 Robert C. Martin(大家叫他 Uncle Bob)的經典書籍 《Clean Architecture》。
接下來 30 天,我會每天讀一點,把內容記下來,寫成「國中生版」的閱讀筆記。如果有想到例子,我想用 Python 來練習,或是和現在流行的 AI(例如 vibe coding、AI 服務串接)有關的靈感,我也會加進來。
這是一趟「讓程式變乾淨變好改」的暑期冒險,30 天後,我希望能學會怎麼把程式弄得整整齊齊,像樂高一樣清楚又好玩。
今日主題: 我已經做出了很多功能:AI、後端 CRUD、前端抓資料、登入。接下來要把系統放到網路上用(這叫「部署」)。 元件是什麼?(用運動會來想像) 元件就...
上次在讀 clean architecture 的時候我畫下這張圖,我在想當時候我想什麼元件是更複雜的設計,雖然是程式的最小單元,關於元件設計的三個原則。 R...
今日主題: 程式設計有時候很像玩樂高。大家通常看到的是一艘拼好的「樂高海盜船」,而不是每一個小零件是怎麼拼起來的。 可是要蓋出穩固的船,還是得知道一些「放零件的...
使用者只需要 AI 的一部分功能,不該被迫使用全部。 今日主題: CRP 的意思是「共同重用原則」。它的重點是:不要把不會一起用到的東西硬塞在同一個包裡。這樣會...
今日主題: 就像全班要一起拼一幅「大拼貼畫」。 小明用彩色紙 小華用布 小美用亮片 每個作品都很漂亮,但要拼在同一張大海報上時,可能會掉下來或卡不住。在程式...
ADP:無環依賴原則,避免「雞生蛋、蛋生雞」的混亂 今日主題: 程式裡有很多模組(像小機器人一樣的單位),它們需要互相合作。但合作時要有順序,誰先誰後要很清楚,...
今日主題: 程式設計裡有一個規則叫 SDP(穩定依賴原則):最下面的「基礎」一定要很穩定,也要有安全鎖。基礎不穩或沒上鎖,上面再漂亮都會倒。 範例故事: 你在蓋...
讓模組抽象化,AI 可以換 prompt 也能換模型,加上安全性的防護。 今日主題: 抽象就是不要把細節全部綁死,給未來更多自由。但做這些的時候,也要注意安全,...
把不穩定的新功能放在外圍,不影響核心。 今日主題: ADP(依賴反向原則)的意思是: 穩定的核心不應該依賴不穩定的新手功能, 反而是新手要依賴核心,這樣核心才不...
今日主題: 在真的進入架構的學習前,回顧一下。我們學了好多種「元件建立原則」,像是在玩積木的規則。 這些規則讓我們的程式世界可以穩穩地蓋高樓,而不會一下子就倒掉...