iT邦幫忙

2025 iThome 鐵人賽

DAY 16
0
生成式 AI

左手藍圖,右手魔法:DDD 與 Vibe Coding 的開發協奏曲系列 第 16

Day 16: 【整合篇】後端竣工!回顧與展望

  • 分享至 

  • xImage
  •  

安安,我是 ChiYu!

走到這一步,請先放下鍵盤,靠在椅背上,深呼吸,然後給自己一個最真誠、最響亮的掌聲!你真的非常、非常了不起!

今天,是我們「左手藍圖,右手魔法」協奏曲的上半場終章。我們將暫時放下後端的程式碼,為過去兩週緊湊而充實的奮鬥,畫下一個完美的句點。今天的議程很簡單:慶祝,回顧我們走了多遠,沉澱我們學到了什麼,然後滿懷期待地展望未來。

Part 1:旅程回顧:從一個模糊的想法到一個會說話的後端

還記得兩週前的我們嗎?那時,我們手中只有一個飄在空中的、模糊的想法:「我想做個能幫助人們的習慣追蹤器」。它很美好,但也很脆弱。

而現在,經過十四天的淬鍊,我們共同打造出了一個堅實的、看得見摸得著的成果。它不再只是一個想法,而是一個功能完整、經過雙重自動化驗證、穩定可靠的後端服務。我們親手賦予了它骨骼與心跳。

讓我們一同盤點,在這趟旅程中,我們從無到有,創造了哪些寶貴的「數位資產」:

  • 一套完整的「設計藍圖」:我們產出了五份彼此關聯、層層遞進的專業文件。從定義方向的《專案章程》,到釐清需求的《使用者故事》,再到搭建骨架的《軟體架構》、規劃數據的《資料庫綱要》,最終確立契約的《API 規格書》。這套藍圖,是我們所有工作的「單一真理來源」,它確保了我們的航行始終朝著正確的航向。
  • 一組強大的「核心 API」:我們利用 Vibe Coding,高效地實作了身份驗證、習慣管理等所有核心的 CRUD 端點。這些 API 就是我們餐廳廚房的爐火,是我們專案未來所有功能的動力來源。
  • 一道堅實的「自動化品質防線」:我們建立了兩道 CI 品質防線。flake8 如同一位嚴謹的文學編輯,確保我們的程式碼風格優雅;pytest 則像一位精明的邏輯考官,確保我們的功能邏輯準確無誤。這道防線,是我們未來敢於快速迭代、大膽重構的最大底氣。
  • 一套進化的「AI 協作方法論」:這或許是我們最大的收穫。我們不再只是 AI 的使用者,我們學會了如何扮演指揮家,透過精準的 Prompt,引導 AI 成為我們的產品經理、架構師、甚至是測試工程師。我們掌握了一套能夠駕馭 AI,進行現代化高效開發的全新工作流。

我們嚴格地遵循了「先有藍圖,再有魔法」的原則,而這整個過程,其實隱含了許多超越程式碼本身、能讓你受用無窮的專業開發心法。

Part 2:超越程式碼的三個核心心法

在我們為上半場畫下句點之前,讓我們花點時間,從我們剛剛完成的後端專案中,提煉出幾個更深層次的、關於「如何思考」的專業心法。

心法一:各司其職的藝術 (關注點分離)

回想我們的餐廳比喻: 前台(Frontend) 負責點餐、 廚房(Backend) 負責做菜、 食材庫(Database)負責存貨。它們各司其職,互不干涉,透過定義好的流程(API)來溝通。這在軟體開發中,被稱為「關注點分離 (Separation of Concerns)」 。這不僅是一種技術,更是一種思維的紀律。它讓我們在面對複雜問題時,能夠將其拆解成一個個獨立、可管理的小問題,然後逐一擊破。

對 Vibe Coding 的啟示是:當你向 AI 提問時,也要保持這種思維紀律。一次只專注在一件事上。正是因為我們將任務拆解成「幫我設計資料庫」、「幫我生成 API」、「幫我寫測試」,我們才避免了 Day 1 那種「我想要一台腳踏車,AI 卻給我一艘航空母艦」的失控窘境。你的問題越聚焦,AI 給你的答案品質就越高,你也越能掌控最終的結果。

心法二:跟隨慣例,事半功倍 (慣例優於設定)

你可能已經發現,我們遵循了很多「慣例 (Convention)」:測試檔案放在 tests/,CI 設定檔放在 .github/workflows/,依賴套件寫在 requirements.txt。這些都不是硬性規定,但它們是整個開發者社群歷經多年演化,沉澱下來的「最佳實踐」。

這就是 「慣例優於設定 (Convention over Configuration)」 的哲學。當我們遵循社群普遍認可的慣例時,就等於在使用一種「共通語言」。這使得我們的專案對於任何一位有經驗的開發者(甚至是 AI!)來說,都是熟悉且可預測的。它大幅降低了溝通成本與新成員的學習曲線,同時也讓許多工具能夠「開箱即用」。

對 Vibe Coding 的啟示是 :與 AI 協作時,主動要求它「遵循某個框架或社群的標準慣例」,是你通往專業級產出的捷徑。例如,「請用 RESTful 風格來設計 API」。 AI 的知識庫中充滿了這些慣例,當你這樣要求時,就等於是給了它一把鑰匙,去開啟那個存放著最高品質程式碼的寶庫。

心法三:最重要的「開發反饋循環 (Feedback Loop)」

回顧我們過去幾天的實作,其實我們一直在重複一個核心的循環: 編碼 (Code) -> 測試 (Test) -> 重構 (Refactor) 。我們指揮 AI 生成程式碼,立刻用 Swagger UI 或 Pytest 驗證,再根據回饋進行調整。這個看似簡單的循環,是所有現代軟體開發的脈動,也是敏捷精神的精髓。

我們的 CI/CD 流程,正是這個循環中最關鍵的「測試」環節的自動化體現,它為我們提供了即時、可靠的回饋。

對 Vibe Coding 的啟示是:AI 在這個循環中,是我們在「編碼」與「重構」階段的超級加速器,它將我們從繁重的體力勞動中解放出來。而我們身為開發者的核心價值,也因此產生了轉變:我們不再是埋頭砌磚的工匠,而是主導整個循環的總工程師。我們的價值,體現在提出正確的問題、定義清晰的目標、以及扮演「測試」與「品質把關」的最終決策者。

Part 3:展望未來:為專案注入視覺與靈魂

我們的後端現在像一個性能強大的引擎,它很有力,一顆強壯、穩定、默默跳動的心臟,但它沒有「臉」。它只能透過像 Swagger UI 這樣冰冷的工具來互動,它的力量與價值,還無法被普通使用者所感知。

從明天開始,我們將進入系列文的下一個、也是更令人興奮的主要篇章: 前端開發與整合

我們將再次回到「文件驅動」的起點,用 Gemini 幫我們規劃網站的風格指南與頁面佈局。然後,我們將拿起前端開發的三神器 HTML, CSS, JavaScript ,為我們的引擎打造一個華麗、好用的外殼,一個富有表情的「臉龐」和清晰表達的「聲音」。

我們將會把那些冰冷的 JSON 數據,轉化為使用者可以真實互動的按鈕、可以流暢點擊的列表、以及能夠啟發洞察的色彩繽紛的圖表。 我們將為我們的專案,注入真正的「視覺」與「靈魂」,讓它從一行行程式碼,蛻變成一個能與人產生連結的鮮活產品。

結語:後端竣工!

再次恭喜所有跟到這裡的夥伴們!後端開發階段,正式竣工!

這是一次重要的里程碑。好好休息一下,回味我們共同取得的成就,為接下來更精彩、更具創造


上一篇
Day 15: 【後端 #3】API 測試:用 Gemini CLI 輔助撰寫 Pytest
下一篇
Day 17: 【前端 #0】前端世界的基石: HTML, CSS 與 JavaScript
系列文
左手藍圖,右手魔法:DDD 與 Vibe Coding 的開發協奏曲17
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言