寫程式的時候,我常常覺得自己寫的不是程式碼,而是一團亂毛線球。寫完一個小東西,想加新東西不知道怎麼加進去。這個暑假,我決定挑戰 Robert C. Martin(大家叫他 Uncle Bob)的經典書籍 《Clean Architecture》。
接下來 30 天,我會每天讀一點,把內容記下來,寫成「國中生版」的閱讀筆記。如果有想到例子,我想用 Python 來練習,或是和現在流行的 AI(例如 vibe coding、AI 服務串接)有關的靈感,我也會加進來。
這是一趟「讓程式變乾淨變好改」的暑期冒險,30 天後,我希望能學會怎麼把程式弄得整整齊齊,像樂高一樣清楚又好玩。
今日主題: 現在 AI 好像什麼東西都寫得出來,為什麼還要學架構?想像一個房間裡的東西越來越多,書本、球具、零食、美術用具 … …。但時間一久,房間會變成「怪獸...
今日主題: 終於可以開始寫點程式了。我問問自己想要做一個部落格,最小的結構是什麼?我有想到我不想 Over Design 或 Poor Design,像是一個人...
今日主題: 軟體系統能夠工作比較重要,還是軟體系統更容易變更比較重要? 能夠工作 = 房間能整理好 意思是:至少東西有歸位,暫時能住人、能用。就像軟體能跑起來,...
今日主題 學習不同吃飯的方式? 方法 吃飯方式 範式 1 分區塊吃,照順序,一塊接一塊 結構化 2 按種類吃,先蛋白質→再蔬菜→再澱粉 物件導...
今日主題: 像檢查作業一樣檢查 AI 寫的程式今天要記的口訣叫 SOLID,是程式設計的 5 個小祕訣。 背誦小口訣:SOLID (2004) S (SR...
今日主題: 複習一下:SOLID 五個小規則 S — 單一職責原則 (Single Responsibility) 👈 現在在這裡 👈一個角色只做一件事。 O...
今日主題: SOLID 五個小規則進度條,現在來到 O。 O — 開放封閉原則 (Open/Closed) 👈 現在在這裡 👈可以增加功能,不用大改原本的東西。...
今日主題: SOLID 五個小規則進度條,現在來到 L。 L (LSP):里氏替換原則就像玩積木,你可以換掉一塊積木,城堡還是能站得好好的。 也像什麼? 想像麵...
今日主題: I (ISP):介面隔離原則 今天有一個考模擬考的功能班長 = OPS(大介面,擁有所有科目的模擬考卷)。數學小老師、英文小老師、自然小老師 = U...
今日主題: 不要以為一個「模型」或「工具」會永遠都能用。(例如:claude 掛掉集體崩潰現場)厲害的程式設計師,會想辦法讓程式不要被「某一個小細節」綁死。就像...