第 2 週 · 單元 1-2
六步建站法:換了題目也能穩定做完的流程
學這學期最重要的方法,並為你自己的點子寫出 PROJECT.md 初稿。這份文件會一路陪你到期末專題。
W2六步建站+PROJECT.md
本週結束時你會
今天的時間安排
| 0:00–0:10 | 回顧:上週抓到的 AI 錯誤 |
| 0:10–0:40 | 派課室線上課程 1-2:六步建站法、垂直切片、PROJECT.md |
| 0:40–1:00 | 實作 1【跟著做】拆解吃貨評分站的 PROJECT.md |
| 1:00–1:10 | 休息 |
| 1:10–1:40 | 實作 2【自己做】定義問題:訪問同學、寫使用者故事 |
| 1:40–2:10 | 實作 3【自己做】畫草圖、設計資料表 |
| 2:10–2:30 | 實作 4:請 AI 審查,本週檢核 |
六步建站法
| 步驟 | 你的產出 | AI 的角色 | 寫進 PROJECT.md |
|---|---|---|---|
| ① 定義問題 | 使用者故事 | 追問、找遺漏 | 1. 問題與使用者 |
| ② 畫出畫面 | 頁面清單+草圖 | 產生頁面骨架 | 2. 頁面 |
| ③ 設計資料 | 資料表與關聯 | 檢查設計、產生建表 SQL | 3. 資料表 |
| ④ 一次一條功能 | 能動的功能 | 主要寫程式 | 4. 功能進度 |
| ⑤ 驗收 | 自動測試全過 | 產生測試、解釋錯誤 | 5. 驗收標準 |
| ⑥ 上線 | 公開網址 | 帶你完成部署 | 6. 上線 |
水平分層
先做完所有畫面,再寫所有後端,最後接資料庫。做到最後一刻之前,沒有任何功能能用;資料庫一改,畫面全部重來。
垂直切片
一次只做「新增評論」這一條,從表單、Flask 路由到寫進資料庫全部打通。每做完一條,就有可以驗收、可以給同學試用的成果。
PROJECT.md 是你和 AI 的共同記憶。AI 不會記得上一次的對話,但這份文件會。之後每一段提示詞的第一句,都是「請先讀 PROJECT.md」。
實作 1:拆解範例【跟著做】
打開練習包中的 PROJECT_範例_吃貨評分站.md,和老師一起找出:
- 四條使用者故事,各自在哪一頁完成?
reviews.shop_id是做什麼用的?少了它會怎樣?- 「評分只能是 1–5 的整數」要怎麼測試?至少想出 4 種要被擋下的輸入。
參考答案
1. 看排行榜與篩選在首頁;打分數寫短評在店家頁;新增店家在新增店家頁。
2. 讓每一則評論知道自己屬於哪一間店。少了它,就算不出每間店的平均分數。
3. 0、6、空白、文字(例如 abc)、小數(3.5)、負數。第 5 週的自動測試就是測這些。
實作 2:定義問題【自己做】
想一個你自己真的會用的網站。它很可能就是你的期末專題。
- 訪問兩位同學:「遇到這件事時,你現在怎麼處理?最麻煩的是什麼?」
- 寫出 3–5 條使用者故事:身為(誰),我想(做什麼),才能(目的)。
提示詞 1 Antigravity
我想做一個網站:(一兩句描述你的點子)。使用者是(誰)。 請不要寫程式。先問我 5 個問題,幫我釐清:使用者是誰、他們現在怎麼解決這個問題、最重要的 3 個功能是什麼。 等我回答完,再把結果整理成 PROJECT.md 的「1. 問題與使用者」,使用者故事用「身為…我想…才能…」的格式。
學生的點子常常太大(例如「做一個像 Instagram 的網站」)。引導他們縮小到「一個人、一件事」:誰在什麼情境下需要它?第一版只要 3 個功能。
實作 3:畫面與資料表【自己做】
- 在紙上畫出每一頁(按鈕、輸入框、清單的位置即可),拍照放進
sketches/。 - 列出每一頁要顯示、要輸入哪些資料。
- 把這些資料分成資料表,標出必填欄位與關聯。
檢查方法:每一頁要顯示的每一個資料,都要找得到存在哪一張表的哪一個欄位。找不到,就是資料表少了東西。
實作 4:請 AI 審查
把內容填進 PROJECT_模板.md,存成 PROJECT.md:
提示詞 2 Antigravity
請先讀 PROJECT.md。 請扮演一位嚴格的專案顧問,指出這份文件會讓工程師做錯或做不出來的地方,至少 3 點,每一點說明:哪一段、問題是什麼、建議怎麼改。先不要寫程式。
提示詞中直接寫出檔名,Antigravity 就會到專案資料夾讀取它。把 AI 的建議記在學習單上,你同意的才修改。
本週檢核
第 3 週預告:資料庫入門。我們會直接打開吃貨評分站的資料庫,用 SQL 算出排行榜。